blob: 9dd4adbb9a3d9648a67b9a1d0849a5439fd47bc0 [file] [log] [blame]
K. Moon832a6942022-10-31 20:11:31 +00001// Copyright 2017 The PDFium Authors
Dan Sinclairf4736722017-11-27 18:10:47 +00002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#include "xfa/fxfa/parser/cxfa_extras.h"
8
Dan Sinclairfe9d6402017-12-14 19:45:53 +00009#include "fxjs/xfa/cjx_extras.h"
Tom Sepez757a6bf2020-09-17 17:22:38 +000010#include "xfa/fxfa/parser/cxfa_document.h"
Dan Sinclairfe9d6402017-12-14 19:45:53 +000011
Dan Sinclairf4736722017-11-27 18:10:47 +000012namespace {
13
Lei Zhangec7d8e22018-02-07 19:57:25 +000014const CXFA_Node::AttributeData kExtrasAttributeData[] = {
Dan Sinclair21b08272017-11-30 20:22:20 +000015 {XFA_Attribute::Id, XFA_AttributeType::CData, nullptr},
16 {XFA_Attribute::Name, XFA_AttributeType::CData, nullptr},
17 {XFA_Attribute::Use, XFA_AttributeType::CData, nullptr},
18 {XFA_Attribute::Usehref, XFA_AttributeType::CData, nullptr},
Tom Sepeza8c86c22019-01-25 22:06:03 +000019};
Dan Sinclairf4736722017-11-27 18:10:47 +000020
Dan Sinclairf4736722017-11-27 18:10:47 +000021} // namespace
22
Dan Sinclairc40c5aa2017-11-30 21:29:11 +000023CXFA_Extras::CXFA_Extras(CXFA_Document* doc, XFA_PacketType packet)
Dan Sinclairf4736722017-11-27 18:10:47 +000024 : CXFA_Node(doc,
25 packet,
Tom Sepez0c057582021-08-17 17:37:23 +000026 {XFA_XDPPACKET::kSourceSet, XFA_XDPPACKET::kTemplate,
27 XFA_XDPPACKET::kForm},
Dan Sinclairf4736722017-11-27 18:10:47 +000028 XFA_ObjectType::Node,
29 XFA_Element::Extras,
Tom Sepezc0fa5f62019-01-25 20:07:27 +000030 {},
Lei Zhangec7d8e22018-02-07 19:57:25 +000031 kExtrasAttributeData,
Tom Sepez757a6bf2020-09-17 17:22:38 +000032 cppgc::MakeGarbageCollected<CJX_Extras>(
33 doc->GetHeap()->GetAllocationHandle(),
34 this)) {}
Dan Sinclairf4736722017-11-27 18:10:47 +000035
Tom Sepez7fc43dd2018-12-13 17:54:26 +000036CXFA_Extras::~CXFA_Extras() = default;