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