From 5fda35f2b0a658e310f778c2dc40ef24e6d05975 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Thu, 30 Nov 2017 20:21:00 +0000 Subject: Generate XFA node attribute information This CL moves the attribute information out of the xfa basic data array and stores in the generated nodes. Change-Id: Id8e280324bf0f75a1da9c937c2734d161324242d Reviewed-on: https://pdfium-review.googlesource.com/19271 Commit-Queue: dsinclair Reviewed-by: Lei Zhang --- xfa/fxfa/parser/cxfa_break.cpp | 50 ++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 14 deletions(-) (limited to 'xfa/fxfa/parser/cxfa_break.cpp') diff --git a/xfa/fxfa/parser/cxfa_break.cpp b/xfa/fxfa/parser/cxfa_break.cpp index f8c7ce0cf8..3f8a7fd7d6 100644 --- a/xfa/fxfa/parser/cxfa_break.cpp +++ b/xfa/fxfa/parser/cxfa_break.cpp @@ -10,20 +10,42 @@ namespace { const CXFA_Node::PropertyData kPropertyData[] = {{XFA_Element::Extras, 1, 0}, {XFA_Element::Unknown, 0, 0}}; -const XFA_Attribute kAttributeData[] = {XFA_Attribute::Id, - XFA_Attribute::BeforeTarget, - XFA_Attribute::Use, - XFA_Attribute::OverflowTarget, - XFA_Attribute::OverflowLeader, - XFA_Attribute::OverflowTrailer, - XFA_Attribute::StartNew, - XFA_Attribute::BookendTrailer, - XFA_Attribute::After, - XFA_Attribute::Usehref, - XFA_Attribute::BookendLeader, - XFA_Attribute::AfterTarget, - XFA_Attribute::Before, - XFA_Attribute::Unknown}; +const CXFA_Node::AttributeData kAttributeData[] = { + {XFA_Attribute::Id, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::BeforeTarget, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::Use, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::OverflowTarget, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::OverflowLeader, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::OverflowTrailer, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::StartNew, XFA_AttributeType::Boolean, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0}, + {XFA_Attribute::BookendTrailer, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::After, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Auto}, + {XFA_Attribute::Usehref, XFA_AttributeType::CData, + XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | + XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form, + nullptr}, + {XFA_Attribute::BookendLeader, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::AfterTarget, XFA_AttributeType::CData, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr}, + {XFA_Attribute::Before, XFA_AttributeType::Enum, + XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, + (void*)XFA_ATTRIBUTEENUM_Auto}, + {XFA_Attribute::Unknown, XFA_AttributeType::Integer, 0, nullptr}}; constexpr wchar_t kName[] = L"break"; -- cgit v1.2.3