Index: xfa/fxfa/parser/xfa_object_imp.cpp |
diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp |
index 99198d24f5b532a3f353bc44b2b32efff3128295..b9abec1d0cd295010523d0ae040327d3beb020dc 100644 |
--- a/xfa/fxfa/parser/xfa_object_imp.cpp |
+++ b/xfa/fxfa/parser/xfa_object_imp.cpp |
@@ -54,19 +54,23 @@ XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = { |
CXFA_Object::CXFA_Object(CXFA_Document* pDocument, |
XFA_ObjectType objectType, |
- XFA_Element elementType) |
+ XFA_Element elementType, |
+ uint32_t elementNameHash, |
+ const CFX_WideStringC& elementName) |
: m_pDocument(pDocument), |
m_objectType(objectType), |
- m_elementType(elementType) {} |
+ m_elementType(elementType), |
+ m_elementNameHash(elementNameHash), |
+ m_elementName(elementName) {} |
CXFA_Object::~CXFA_Object() {} |
-CFX_WideStringC CXFA_Object::GetClassName() const { |
- return XFA_GetElementByID(GetElementType())->pName; |
+const CFX_WideStringC CXFA_Object::GetClassName() const { |
+ return m_elementName; |
} |
uint32_t CXFA_Object::GetClassHashCode() const { |
- return XFA_GetElementByID(GetElementType())->uHash; |
+ return m_elementNameHash; |
} |
XFA_Element CXFA_Object::GetElementType() const { |
@@ -106,8 +110,10 @@ XFA_MAPMODULEDATA::~XFA_MAPMODULEDATA() {} |
CXFA_Node::CXFA_Node(CXFA_Document* pDoc, |
uint16_t ePacket, |
XFA_ObjectType oType, |
- XFA_Element eType) |
- : CXFA_Object(pDoc, oType, eType), |
+ XFA_Element eType, |
+ uint32_t elementNameHash, |
+ const CFX_WideStringC& elementName) |
+ : CXFA_Object(pDoc, oType, eType, elementNameHash, elementName), |
m_pNext(nullptr), |
m_pChild(nullptr), |
m_pLastChild(nullptr), |
@@ -5070,7 +5076,9 @@ void CXFA_Node::MoveBufferMapData(CXFA_Node* pSrcModule, |
CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode) |
: CXFA_Object(pThisNode->GetDocument(), |
XFA_ObjectType::VariablesThis, |
- XFA_Element::Unknown), |
+ XFA_Element::Unknown, |
+ 0, |
+ CFX_WideStringC()), |
m_pThisNode(nullptr), |
m_pScriptNode(nullptr) { |
m_pThisNode = pThisNode; |
@@ -5088,7 +5096,11 @@ CXFA_Node* CXFA_ThisProxy::GetScriptNode() const { |
} |
CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument) |
- : CXFA_Object(pDocument, XFA_ObjectType::NodeList, XFA_Element::NodeList) { |
+ : CXFA_Object(pDocument, |
+ XFA_ObjectType::NodeList, |
+ XFA_Element::NodeList, |
+ 0xa8c7d5e2, |
+ CFX_WideStringC(L"nodeList")) { |
m_pDocument->GetScriptContext()->AddToCacheList( |
std::unique_ptr<CXFA_NodeList>(this)); |
} |