Pass needed value to CXFA_Node constructor

Currently the CXFA_Node constructor will call out to lookup the object type for
a given element type. There is only one called of this constructor and it
already has the object type so just pass it through instead of getting the
element data a second time.

Review-Url: https://codereview.chromium.org/2092853002
diff --git a/xfa/fxfa/parser/xfa_document_imp.cpp b/xfa/fxfa/parser/xfa_document_imp.cpp
index bcc37d9..7ba85bb 100644
--- a/xfa/fxfa/parser/xfa_document_imp.cpp
+++ b/xfa/fxfa/parser/xfa_document_imp.cpp
@@ -157,7 +157,8 @@
 
   const XFA_ELEMENTINFO* pElement = XFA_GetElementByID(eElement);
   if (pElement && (pElement->dwPackets & pPacket->eName)) {
-    CXFA_Node* pNode = new CXFA_Node(this, pPacket->eName, pElement->eName);
+    CXFA_Node* pNode = new CXFA_Node(this, pPacket->eName,
+                                     pElement->eObjectType, pElement->eName);
     AddPurgeNode(pNode);
     return pNode;
   }
diff --git a/xfa/fxfa/parser/xfa_object.h b/xfa/fxfa/parser/xfa_object.h
index e402c18..fd73d8b 100644
--- a/xfa/fxfa/parser/xfa_object.h
+++ b/xfa/fxfa/parser/xfa_object.h
@@ -616,7 +616,10 @@
  protected:
   friend class CXFA_Document;
 
-  CXFA_Node(CXFA_Document* pDoc, uint16_t ePacket, XFA_Element eType);
+  CXFA_Node(CXFA_Document* pDoc,
+            uint16_t ePacket,
+            XFA_ObjectType oType,
+            XFA_Element eType);
   ~CXFA_Node() override;
 
   bool HasFlag(XFA_NodeFlag dwFlag) const;
diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp
index 28c56ce..04b33b4 100644
--- a/xfa/fxfa/parser/xfa_object_imp.cpp
+++ b/xfa/fxfa/parser/xfa_object_imp.cpp
@@ -43,10 +43,6 @@
 XFA_MAPDATABLOCKCALLBACKINFO deleteWideStringCallBack = {XFA_DeleteWideString,
                                                          XFA_CopyWideString};
 
-XFA_ObjectType XFA_GetElementObjectType(XFA_Element eType) {
-  return XFA_GetElementByID(eType)->eObjectType;
-}
-
 void XFA_DataNodeDeleteBindItem(void* pData) {
   delete static_cast<CXFA_NodeArray*>(pData);
 }
@@ -108,8 +104,11 @@
 
 XFA_MAPMODULEDATA::~XFA_MAPMODULEDATA() {}
 
-CXFA_Node::CXFA_Node(CXFA_Document* pDoc, uint16_t ePacket, XFA_Element eType)
-    : CXFA_Object(pDoc, XFA_GetElementObjectType(eType), eType),
+CXFA_Node::CXFA_Node(CXFA_Document* pDoc,
+                     uint16_t ePacket,
+                     XFA_ObjectType oType,
+                     XFA_Element eType)
+    : CXFA_Object(pDoc, oType, eType),
       m_pNext(nullptr),
       m_pChild(nullptr),
       m_pLastChild(nullptr),