Remove CXFA_NodeStack Also replace CXFA_NodeSet with underlying type. Change-Id: Iba38ef67bab5d7b23a0bb2b8272a1effa1015c9c Reviewed-on: https://pdfium-review.googlesource.com/2905 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp index adb8eb2..b7d429a 100644 --- a/xfa/fxfa/parser/cxfa_document.cpp +++ b/xfa/fxfa/parser/cxfa_document.cpp
@@ -361,7 +361,7 @@ return; std::map<uint32_t, CXFA_Node*> mIDMap; - CXFA_NodeSet sUseNodes; + std::unordered_set<CXFA_Node*> sUseNodes; CXFA_NodeIterator sIterator(pTemplateRoot); for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; pNode = sIterator.MoveToNext()) {
diff --git a/xfa/fxfa/parser/cxfa_document.h b/xfa/fxfa/parser/cxfa_document.h index fdd230d..b1ee35f 100644 --- a/xfa/fxfa/parser/cxfa_document.h +++ b/xfa/fxfa/parser/cxfa_document.h
@@ -8,6 +8,7 @@ #define XFA_FXFA_PARSER_CXFA_DOCUMENT_H_ #include <map> +#include <unordered_set> #include "xfa/fxfa/fxfa.h" #include "xfa/fxfa/parser/xfa_localemgr.h" @@ -118,7 +119,7 @@ CScript_LogPseudoModel* m_pScriptLog; CScript_LayoutPseudoModel* m_pScriptLayout; CScript_SignaturePseudoModel* m_pScriptSignature; - CXFA_NodeSet m_PurgeNodes; + std::unordered_set<CXFA_Node*> m_PurgeNodes; XFA_VERSION m_eCurVersionMode; uint32_t m_dwDocFlags; };
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 1e50896..cd6b844 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -8,6 +8,7 @@ #include <map> #include <memory> +#include <unordered_set> #include <utility> #include <vector> @@ -80,7 +81,7 @@ return iCount; } -void SortNodeArrayByDocumentIdx(const CXFA_NodeSet& rgNodeSet, +void SortNodeArrayByDocumentIdx(const std::unordered_set<CXFA_Node*>& rgNodeSet, CXFA_NodeArray& rgNodeArray, CFX_ArrayTemplate<int32_t>& rgIdxArray) { int32_t iCount = pdfium::CollectionSize<int32_t>(rgNodeSet); @@ -105,7 +106,8 @@ } } -using CXFA_NodeSetPair = std::pair<CXFA_NodeSet, CXFA_NodeSet>; +using CXFA_NodeSetPair = + std::pair<std::unordered_set<CXFA_Node*>, std::unordered_set<CXFA_Node*>>; using CXFA_NodeSetPairMap = std::map<uint32_t, std::unique_ptr<CXFA_NodeSetPair>>; using CXFA_NodeSetPairMapMap = @@ -128,8 +130,8 @@ return (*pNodeSetPairMap)[dwNameHash].get(); } -void ReorderDataNodes(const CXFA_NodeSet& sSet1, - const CXFA_NodeSet& sSet2, +void ReorderDataNodes(const std::unordered_set<CXFA_Node*>& sSet1, + const std::unordered_set<CXFA_Node*>& sSet2, bool bInsertBefore) { CXFA_NodeSetPairMapMap rgMap; for (CXFA_Node* pNode : sSet1) { @@ -235,8 +237,8 @@ pInstMgrNode->GetNodeItem(XFA_NODEITEM_Parent) ->InsertChild(pNewInstance, pNextSibling); if (bMoveDataBindingNodes) { - CXFA_NodeSet sNew; - CXFA_NodeSet sAfter; + std::unordered_set<CXFA_Node*> sNew; + std::unordered_set<CXFA_Node*> sAfter; CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFAContainerNode> sIteratorNew(pNewInstance); @@ -266,8 +268,8 @@ pInstMgrNode->GetNodeItem(XFA_NODEITEM_Parent) ->InsertChild(pNewInstance, pBeforeInstance); if (bMoveDataBindingNodes) { - CXFA_NodeSet sNew; - CXFA_NodeSet sBefore; + std::unordered_set<CXFA_Node*> sNew; + std::unordered_set<CXFA_Node*> sBefore; CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFAContainerNode> sIteratorNew(pNewInstance);
diff --git a/xfa/fxfa/parser/xfa_object.h b/xfa/fxfa/parser/xfa_object.h index cc11650..8bdd264 100644 --- a/xfa/fxfa/parser/xfa_object.h +++ b/xfa/fxfa/parser/xfa_object.h
@@ -8,7 +8,6 @@ #define XFA_FXFA_PARSER_XFA_OBJECT_H_ #include <map> -#include <unordered_set> #include "fxjs/cfxjse_arguments.h" #include "xfa/fde/xml/fde_xml.h" @@ -126,8 +125,6 @@ }; using CXFA_NodeArray = CFX_ArrayTemplate<CXFA_Node*>; -using CXFA_NodeStack = CFX_StackTemplate<CXFA_Node*>; -using CXFA_NodeSet = std::unordered_set<CXFA_Node*>; typedef void (*PD_CALLBACK_FREEDATA)(void* pData); typedef void (*PD_CALLBACK_DUPLICATEDATA)(void*& pData);