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);