Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Unified Diff: xfa/fxfa/parser/xfa_object_imp.cpp

Issue 2101403002: Pass element hash and name into CXFA_Object constructor. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@classname_return
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
}

Powered by Google App Engine
This is Rietveld 408576698