From c40c5aa2d7f1753dd382c35955deafdaca660020 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Thu, 30 Nov 2017 21:29:11 +0000 Subject: A CXFA_Node can only be in one packet When a CXFA_Node is created it's created as part of a specific packet. Previously the code would accept an XFA_XDPPACKET which was stored internally. This had the potential to allow a node to exist in multiple packets. This CL changes the XFA_XDPPacket to the XFA_PacketType enum class and cleans up a lot of uses to use the more specific packet type. Change-Id: I7fc8c843bfa6bd32295ae58a26bcec311e43c4b0 Reviewed-on: https://pdfium-review.googlesource.com/20012 Reviewed-by: Henrique Nakashima Reviewed-by: Lei Zhang Commit-Queue: dsinclair --- xfa/fxfa/parser/cxfa_simple_parser.h | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'xfa/fxfa/parser/cxfa_simple_parser.h') diff --git a/xfa/fxfa/parser/cxfa_simple_parser.h b/xfa/fxfa/parser/cxfa_simple_parser.h index 00250e7257..f7465b64d6 100644 --- a/xfa/fxfa/parser/cxfa_simple_parser.h +++ b/xfa/fxfa/parser/cxfa_simple_parser.h @@ -39,24 +39,20 @@ class CXFA_SimpleParser { private: CXFA_Node* ParseAsXDPPacket(CFX_XMLNode* pXMLDocumentNode, XFA_XDPPACKET ePacketID); - CXFA_Node* ParseAsXDPPacket_XDP(CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); + CXFA_Node* ParseAsXDPPacket_XDP(CFX_XMLNode* pXMLDocumentNode); CXFA_Node* ParseAsXDPPacket_Config(CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); CXFA_Node* ParseAsXDPPacket_TemplateForm(CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); - CXFA_Node* ParseAsXDPPacket_Data(CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); + CXFA_Node* ParseAsXDPPacket_Data(CFX_XMLNode* pXMLDocumentNode); CXFA_Node* ParseAsXDPPacket_LocaleConnectionSourceSet( CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); - CXFA_Node* ParseAsXDPPacket_Xdc(CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); - CXFA_Node* ParseAsXDPPacket_User(CFX_XMLNode* pXMLDocumentNode, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); + CXFA_Node* ParseAsXDPPacket_Xdc(CFX_XMLNode* pXMLDocumentNode); + CXFA_Node* ParseAsXDPPacket_User(CFX_XMLNode* pXMLDocumentNode); CXFA_Node* NormalLoader(CXFA_Node* pXFANode, CFX_XMLNode* pXMLDoc, - XFA_XDPPACKET ePacketID, + XFA_PacketType ePacketID, bool bUseAttribute); CXFA_Node* DataLoader(CXFA_Node* pXFANode, CFX_XMLNode* pXMLDoc, @@ -64,16 +60,16 @@ class CXFA_SimpleParser { CXFA_Node* UserPacketLoader(CXFA_Node* pXFANode, CFX_XMLNode* pXMLDoc); void ParseContentNode(CXFA_Node* pXFANode, CFX_XMLNode* pXMLNode, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); void ParseDataValue(CXFA_Node* pXFANode, CFX_XMLNode* pXMLNode, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); void ParseDataGroup(CXFA_Node* pXFANode, CFX_XMLNode* pXMLNode, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); void ParseInstruction(CXFA_Node* pXFANode, CFX_XMLInstruction* pXMLInstruction, - XFA_XDPPACKET ePacketID); + XFA_PacketType ePacketID); CFX_XMLParser* m_pXMLParser; std::unique_ptr m_pXMLDoc; -- cgit v1.2.3