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

Side by Side Diff: xfa/fxfa/parser/xfa_object_imp.cpp

Issue 2104963002: Change CXFA_Node::GetClassName to return (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « xfa/fxfa/parser/xfa_object.h ('k') | xfa/fxfa/parser/xfa_script_nodehelper.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/fxfa/parser/xfa_object.h" 7 #include "xfa/fxfa/parser/xfa_object.h"
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 54
55 CXFA_Object::CXFA_Object(CXFA_Document* pDocument, 55 CXFA_Object::CXFA_Object(CXFA_Document* pDocument,
56 XFA_ObjectType objectType, 56 XFA_ObjectType objectType,
57 XFA_Element elementType) 57 XFA_Element elementType)
58 : m_pDocument(pDocument), 58 : m_pDocument(pDocument),
59 m_objectType(objectType), 59 m_objectType(objectType),
60 m_elementType(elementType) {} 60 m_elementType(elementType) {}
61 61
62 CXFA_Object::~CXFA_Object() {} 62 CXFA_Object::~CXFA_Object() {}
63 63
64 void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const { 64 CFX_WideStringC CXFA_Object::GetClassName() const {
65 wsName = XFA_GetElementByID(GetElementType())->pName; 65 return XFA_GetElementByID(GetElementType())->pName;
66 } 66 }
67 67
68 uint32_t CXFA_Object::GetClassHashCode() const { 68 uint32_t CXFA_Object::GetClassHashCode() const {
69 return XFA_GetElementByID(GetElementType())->uHash; 69 return XFA_GetElementByID(GetElementType())->uHash;
70 } 70 }
71 71
72 XFA_Element CXFA_Object::GetElementType() const { 72 XFA_Element CXFA_Object::GetElementType() const {
73 return m_elementType; 73 return m_elementType;
74 } 74 }
75 75
76 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, 76 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue,
77 FX_BOOL bSetting, 77 FX_BOOL bSetting,
78 XFA_ATTRIBUTE eAttribute) { 78 XFA_ATTRIBUTE eAttribute) {
79 if (!bSetting) { 79 if (!bSetting) {
80 CFX_WideStringC className; 80 CFX_WideStringC className = GetClassName();
81 GetClassName(className);
82 pValue->SetString( 81 pValue->SetString(
83 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); 82 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC());
84 } else { 83 } else {
85 ThrowException(XFA_IDS_INVAlID_PROP_SET); 84 ThrowException(XFA_IDS_INVAlID_PROP_SET);
86 } 85 }
87 } 86 }
88 87
89 void CXFA_Object::ThrowException(int32_t iStringID, ...) { 88 void CXFA_Object::ThrowException(int32_t iStringID, ...) {
90 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); 89 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider();
91 ASSERT(pAppProvider); 90 ASSERT(pAppProvider);
(...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 } 743 }
745 } 744 }
746 745
747 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue, 746 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue,
748 FX_BOOL bSetting, 747 FX_BOOL bSetting,
749 XFA_ATTRIBUTE eAttribute) { 748 XFA_ATTRIBUTE eAttribute) {
750 if (bSetting) { 749 if (bSetting) {
751 ThrowException(XFA_IDS_INVAlID_PROP_SET); 750 ThrowException(XFA_IDS_INVAlID_PROP_SET);
752 } else { 751 } else {
753 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; 752 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL;
754 CFX_WideStringC wsName; 753 CFX_WideString wsExpression =
755 GetClassName(wsName); 754 FX_WSTRC(L"#") + GetClassName() + FX_WSTRC(L"[*]");
756 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]");
757 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); 755 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag);
758 } 756 }
759 } 757 }
760 758
761 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue, 759 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue,
762 FX_BOOL bSetting, 760 FX_BOOL bSetting,
763 XFA_ATTRIBUTE eAttribute) { 761 XFA_ATTRIBUTE eAttribute) {
764 if (bSetting) { 762 if (bSetting) {
765 ThrowException(XFA_IDS_INVAlID_PROP_SET); 763 ThrowException(XFA_IDS_INVAlID_PROP_SET);
766 } else { 764 } else {
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 CFX_WideStringC wsContentType = GetCData(XFA_ATTRIBUTE_ContentType); 956 CFX_WideStringC wsContentType = GetCData(XFA_ATTRIBUTE_ContentType);
959 if (!wsContentType.IsEmpty()) { 957 if (!wsContentType.IsEmpty()) {
960 pFakeRoot->SetCData(XFA_ATTRIBUTE_ContentType, 958 pFakeRoot->SetCData(XFA_ATTRIBUTE_ContentType,
961 CFX_WideString(wsContentType)); 959 CFX_WideString(wsContentType));
962 } 960 }
963 CFDE_XMLNode* pFakeXMLRoot = pFakeRoot->GetXMLMappingNode(); 961 CFDE_XMLNode* pFakeXMLRoot = pFakeRoot->GetXMLMappingNode();
964 if (!pFakeXMLRoot) { 962 if (!pFakeXMLRoot) {
965 CFDE_XMLNode* pThisXMLRoot = GetXMLMappingNode(); 963 CFDE_XMLNode* pThisXMLRoot = GetXMLMappingNode();
966 pFakeXMLRoot = pThisXMLRoot ? pThisXMLRoot->Clone(FALSE) : nullptr; 964 pFakeXMLRoot = pThisXMLRoot ? pThisXMLRoot->Clone(FALSE) : nullptr;
967 } 965 }
968 if (!pFakeXMLRoot) { 966 if (!pFakeXMLRoot)
969 CFX_WideStringC wsClassName; 967 pFakeXMLRoot = new CFDE_XMLElement(CFX_WideString(GetClassName()));
970 GetClassName(wsClassName); 968
971 pFakeXMLRoot = new CFDE_XMLElement(CFX_WideString(wsClassName));
972 }
973 if (bIgnoreRoot) { 969 if (bIgnoreRoot) {
974 CFDE_XMLNode* pXMLChild = pXMLNode->GetNodeItem(CFDE_XMLNode::FirstChild); 970 CFDE_XMLNode* pXMLChild = pXMLNode->GetNodeItem(CFDE_XMLNode::FirstChild);
975 while (pXMLChild) { 971 while (pXMLChild) {
976 CFDE_XMLNode* pXMLSibling = 972 CFDE_XMLNode* pXMLSibling =
977 pXMLChild->GetNodeItem(CFDE_XMLNode::NextSibling); 973 pXMLChild->GetNodeItem(CFDE_XMLNode::NextSibling);
978 pXMLNode->RemoveChildNode(pXMLChild); 974 pXMLNode->RemoveChildNode(pXMLChild);
979 pFakeXMLRoot->InsertChildNode(pXMLChild); 975 pFakeXMLRoot->InsertChildNode(pXMLChild);
980 pXMLChild = pXMLSibling; 976 pXMLChild = pXMLSibling;
981 } 977 }
982 } else { 978 } else {
(...skipping 4280 matching lines...) Expand 10 before | Expand all | Expand 10 after
5263 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); 5259 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode);
5264 } 5260 }
5265 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { 5261 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) {
5266 return m_pAttachNode->RemoveChild(pNode); 5262 return m_pAttachNode->RemoveChild(pNode);
5267 } 5263 }
5268 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { 5264 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) {
5269 return m_pAttachNode->GetChild( 5265 return m_pAttachNode->GetChild(
5270 iIndex, XFA_Element::Unknown, 5266 iIndex, XFA_Element::Unknown,
5271 m_pAttachNode->GetElementType() == XFA_Element::Subform); 5267 m_pAttachNode->GetElementType() == XFA_Element::Subform);
5272 } 5268 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_object.h ('k') | xfa/fxfa/parser/xfa_script_nodehelper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698