diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-11-30 21:29:11 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-30 21:29:11 +0000 |
commit | c40c5aa2d7f1753dd382c35955deafdaca660020 (patch) | |
tree | b427f5516046d40b8dd63f8c7a552fac0bf278ae /xfa/fxfa/parser/cxfa_document.cpp | |
parent | 9daec60824d085db8c2f841fd389c725df1f8b0b (diff) | |
download | pdfium-c40c5aa2d7f1753dd382c35955deafdaca660020.tar.xz |
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 <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_document.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_document.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp index 4e230ee87b..b23ba68a45 100644 --- a/xfa/fxfa/parser/cxfa_document.cpp +++ b/xfa/fxfa/parser/cxfa_document.cpp @@ -213,12 +213,10 @@ CXFA_Object* CXFA_Document::GetXFAObject(XFA_HashCode dwNodeNameHash) { } } -CXFA_Node* CXFA_Document::CreateNode(XFA_XDPPACKET packet, +CXFA_Node* CXFA_Document::CreateNode(XFA_PacketType packet, XFA_Element eElement) { - if (packet == XFA_XDPPACKET_UNKNOWN || packet >= XFA_XDPPACKET_LAST || - eElement == XFA_Element::Unknown) { + if (eElement == XFA_Element::Unknown) return nullptr; - } std::unique_ptr<CXFA_Node> pNode = CXFA_Node::Create(this, eElement, packet); if (!pNode) |