diff options
Diffstat (limited to 'xfa/fxfa/parser/cxfa_variables.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_variables.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/xfa/fxfa/parser/cxfa_variables.cpp b/xfa/fxfa/parser/cxfa_variables.cpp index 5974b9ed4..87ee907a7 100644 --- a/xfa/fxfa/parser/cxfa_variables.cpp +++ b/xfa/fxfa/parser/cxfa_variables.cpp @@ -1,4 +1,4 @@ -// Copyright 2017 PDFium Authors. All rights reserved. +// Copyright 2017 The PDFium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,7 +7,7 @@ #include "xfa/fxfa/parser/cxfa_variables.h" #include "fxjs/xfa/cjx_container.h" -#include "third_party/base/ptr_util.h" +#include "xfa/fxfa/parser/cxfa_document.h" namespace { @@ -19,14 +19,23 @@ const CXFA_Node::AttributeData kVariablesAttributeData[] = { } // namespace +// static +CXFA_Variables* CXFA_Variables::FromNode(CXFA_Node* pNode) { + return pNode && pNode->GetElementType() == XFA_Element::Variables + ? static_cast<CXFA_Variables*>(pNode) + : nullptr; +} + CXFA_Variables::CXFA_Variables(CXFA_Document* doc, XFA_PacketType packet) : CXFA_Node(doc, packet, - (XFA_XDPPACKET_Template | XFA_XDPPACKET_Form), + {XFA_XDPPACKET::kTemplate, XFA_XDPPACKET::kForm}, XFA_ObjectType::ContainerNode, XFA_Element::Variables, {}, kVariablesAttributeData, - pdfium::MakeUnique<CJX_Container>(this)) {} + cppgc::MakeGarbageCollected<CJX_Container>( + doc->GetHeap()->GetAllocationHandle(), + this)) {} CXFA_Variables::~CXFA_Variables() = default; |