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

Side by Side Diff: xfa/fxfa/parser/xfa_object.h

Issue 2082573007: Update GetClassID to GetElementType (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@remove_script_obj_hash
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 unified diff | Download patch
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 #ifndef XFA_FXFA_PARSER_XFA_OBJECT_H_ 7 #ifndef XFA_FXFA_PARSER_XFA_OBJECT_H_
8 #define XFA_FXFA_PARSER_XFA_OBJECT_H_ 8 #define XFA_FXFA_PARSER_XFA_OBJECT_H_
9 9
10 #include <unordered_set> 10 #include <unordered_set>
(...skipping 29 matching lines...) Expand all
40 XFA_NodeFlag_BindFormItems = 1 << 3, 40 XFA_NodeFlag_BindFormItems = 1 << 3,
41 XFA_NodeFlag_UserInteractive = 1 << 4, 41 XFA_NodeFlag_UserInteractive = 1 << 4,
42 XFA_NodeFlag_SkipDataBinding = 1 << 5, 42 XFA_NodeFlag_SkipDataBinding = 1 << 5,
43 XFA_NodeFlag_OwnXMLNode = 1 << 6, 43 XFA_NodeFlag_OwnXMLNode = 1 << 6,
44 XFA_NodeFlag_UnusedNode = 1 << 7, 44 XFA_NodeFlag_UnusedNode = 1 << 7,
45 XFA_NodeFlag_LayoutGeneratedNode = 1 << 8 45 XFA_NodeFlag_LayoutGeneratedNode = 1 << 8
46 }; 46 };
47 47
48 class CXFA_Object : public CFXJSE_HostObject { 48 class CXFA_Object : public CFXJSE_HostObject {
49 public: 49 public:
50 CXFA_Object(CXFA_Document* pDocument, XFA_ObjectType type); 50 CXFA_Object(CXFA_Document* pDocument,
51 XFA_ObjectType objectType,
52 XFA_Element elementType);
51 ~CXFA_Object() override; 53 ~CXFA_Object() override;
52 54
53 CXFA_Document* GetDocument() const { return m_pDocument; } 55 CXFA_Document* GetDocument() const { return m_pDocument; }
54 XFA_ObjectType GetObjectType() const { return m_objectType; } 56 XFA_ObjectType GetObjectType() const { return m_objectType; }
55 57
56 bool IsNode() const { 58 bool IsNode() const {
57 return m_objectType == XFA_ObjectType::Node || 59 return m_objectType == XFA_ObjectType::Node ||
58 m_objectType == XFA_ObjectType::NodeC || 60 m_objectType == XFA_ObjectType::NodeC ||
59 m_objectType == XFA_ObjectType::NodeV || 61 m_objectType == XFA_ObjectType::NodeV ||
60 m_objectType == XFA_ObjectType::ModelNode || 62 m_objectType == XFA_ObjectType::ModelNode ||
(...skipping 22 matching lines...) Expand all
83 } 85 }
84 86
85 CXFA_Node* AsNode(); 87 CXFA_Node* AsNode();
86 CXFA_OrdinaryObject* AsOrdinaryObject(); 88 CXFA_OrdinaryObject* AsOrdinaryObject();
87 CXFA_NodeList* AsNodeList(); 89 CXFA_NodeList* AsNodeList();
88 90
89 const CXFA_Node* AsNode() const; 91 const CXFA_Node* AsNode() const;
90 const CXFA_OrdinaryObject* AsOrdinaryObject() const; 92 const CXFA_OrdinaryObject* AsOrdinaryObject() const;
91 const CXFA_NodeList* AsNodeList() const; 93 const CXFA_NodeList* AsNodeList() const;
92 94
93 XFA_Element GetClassID() const; 95 XFA_Element GetElementType() const;
94 void GetClassName(CFX_WideStringC& wsName) const; 96 void GetClassName(CFX_WideStringC& wsName) const;
95 uint32_t GetClassHashCode() const; 97 uint32_t GetClassHashCode() const;
96 void Script_ObjectClass_ClassName(CFXJSE_Value* pValue, 98 void Script_ObjectClass_ClassName(CFXJSE_Value* pValue,
97 FX_BOOL bSetting, 99 FX_BOOL bSetting,
98 XFA_ATTRIBUTE eAttribute); 100 XFA_ATTRIBUTE eAttribute);
99 void ThrowException(int32_t iStringID, ...); 101 void ThrowException(int32_t iStringID, ...);
100 102
101 protected: 103 protected:
102 CXFA_Document* const m_pDocument; 104 CXFA_Document* const m_pDocument;
103 XFA_ObjectType m_objectType; 105 XFA_ObjectType m_objectType;
106 XFA_Element m_elementType;
Lei Zhang 2016/06/23 05:04:20 const?
104 }; 107 };
105 using CXFA_ObjArray = CFX_ArrayTemplate<CXFA_Object*>; 108 using CXFA_ObjArray = CFX_ArrayTemplate<CXFA_Object*>;
106 109
107 #define XFA_NODEFILTER_Children 0x01 110 #define XFA_NODEFILTER_Children 0x01
108 #define XFA_NODEFILTER_Properties 0x02 111 #define XFA_NODEFILTER_Properties 0x02
109 #define XFA_NODEFILTER_OneOfProperty 0x04 112 #define XFA_NODEFILTER_OneOfProperty 0x04
110 #define XFA_CLONEFLAG_Content 0x01 113 #define XFA_CLONEFLAG_Content 0x01
111 enum XFA_NODEITEM { 114 enum XFA_NODEITEM {
112 XFA_NODEITEM_Parent, 115 XFA_NODEITEM_Parent,
113 XFA_NODEITEM_FirstChild, 116 XFA_NODEITEM_FirstChild,
(...skipping 29 matching lines...) Expand all
143 CFX_MapPtrToPtr m_ValueMap; 146 CFX_MapPtrToPtr m_ValueMap;
144 CFX_MapPtrTemplate<void*, XFA_MAPDATABLOCK*> m_BufferMap; 147 CFX_MapPtrTemplate<void*, XFA_MAPDATABLOCK*> m_BufferMap;
145 }; 148 };
146 149
147 #define XFA_CalcRefCount (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'R') 150 #define XFA_CalcRefCount (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'R')
148 #define XFA_CalcData (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'C') 151 #define XFA_CalcData (void*)(uintptr_t) FXBSTR_ID('X', 'F', 'A', 'C')
149 #define XFA_LAYOUTITEMKEY (void*)(uintptr_t) FXBSTR_ID('L', 'Y', 'I', 'M') 152 #define XFA_LAYOUTITEMKEY (void*)(uintptr_t) FXBSTR_ID('L', 'Y', 'I', 'M')
150 153
151 class CXFA_Node : public CXFA_Object { 154 class CXFA_Node : public CXFA_Object {
152 public: 155 public:
153 XFA_Element GetClassID() const { return m_eNodeClass; }
154 uint32_t GetPacketID() const { return m_ePacket; } 156 uint32_t GetPacketID() const { return m_ePacket; }
155 157
156 void SetFlag(uint32_t dwFlag, bool bNotify); 158 void SetFlag(uint32_t dwFlag, bool bNotify);
157 void ClearFlag(uint32_t dwFlag); 159 void ClearFlag(uint32_t dwFlag);
158 160
159 bool IsInitialized() const { return HasFlag(XFA_NodeFlag_Initialized); } 161 bool IsInitialized() const { return HasFlag(XFA_NodeFlag_Initialized); }
160 bool IsOwnXMLNode() const { return HasFlag(XFA_NodeFlag_OwnXMLNode); } 162 bool IsOwnXMLNode() const { return HasFlag(XFA_NodeFlag_OwnXMLNode); }
161 bool IsUserInteractive() const { 163 bool IsUserInteractive() const {
162 return HasFlag(XFA_NodeFlag_UserInteractive); 164 return HasFlag(XFA_NodeFlag_UserInteractive);
163 } 165 }
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 void MoveBufferMapData(CXFA_Node* pSrcModule, 670 void MoveBufferMapData(CXFA_Node* pSrcModule,
669 CXFA_Node* pDstModule, 671 CXFA_Node* pDstModule,
670 void* pKey, 672 void* pKey,
671 FX_BOOL bRecursive = FALSE); 673 FX_BOOL bRecursive = FALSE);
672 674
673 CXFA_Node* m_pNext; 675 CXFA_Node* m_pNext;
674 CXFA_Node* m_pChild; 676 CXFA_Node* m_pChild;
675 CXFA_Node* m_pLastChild; 677 CXFA_Node* m_pLastChild;
676 CXFA_Node* m_pParent; 678 CXFA_Node* m_pParent;
677 CFDE_XMLNode* m_pXMLNode; 679 CFDE_XMLNode* m_pXMLNode;
678 XFA_Element m_eNodeClass;
679 uint16_t m_ePacket; 680 uint16_t m_ePacket;
680 uint16_t m_uNodeFlags; 681 uint16_t m_uNodeFlags;
681 uint32_t m_dwNameHash; 682 uint32_t m_dwNameHash;
682 CXFA_Node* m_pAuxNode; 683 CXFA_Node* m_pAuxNode;
683 XFA_MAPMODULEDATA* m_pMapModuleData; 684 XFA_MAPMODULEDATA* m_pMapModuleData;
684 }; 685 };
685 686
686 class CXFA_OrdinaryObject : public CXFA_Object { 687 class CXFA_OrdinaryObject : public CXFA_Object {
687 public: 688 public:
688 CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_Element eElement); 689 CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_Element eElement);
689 ~CXFA_OrdinaryObject() override; 690 ~CXFA_OrdinaryObject() override;
690
691 XFA_Element GetClassID() const;
692
693 protected:
694 XFA_Element m_eNodeClass;
695 }; 691 };
696 692
697 class CXFA_ThisProxy : public CXFA_Object { 693 class CXFA_ThisProxy : public CXFA_Object {
698 public: 694 public:
699 CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode); 695 CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
700 ~CXFA_ThisProxy() override; 696 ~CXFA_ThisProxy() override;
701 697
702 CXFA_Node* GetThisNode() const; 698 CXFA_Node* GetThisNode() const;
703 CXFA_Node* GetScriptNode() const; 699 CXFA_Node* GetScriptNode() const;
704 700
705 private: 701 private:
706 CXFA_Node* m_pThisNode; 702 CXFA_Node* m_pThisNode;
707 CXFA_Node* m_pScriptNode; 703 CXFA_Node* m_pScriptNode;
708 }; 704 };
709 705
710 class CXFA_NodeList : public CXFA_Object { 706 class CXFA_NodeList : public CXFA_Object {
711 public: 707 public:
712 explicit CXFA_NodeList(CXFA_Document* pDocument); 708 explicit CXFA_NodeList(CXFA_Document* pDocument);
713 ~CXFA_NodeList() override; 709 ~CXFA_NodeList() override;
714 710
715 XFA_Element GetClassID() const;
716 CXFA_Node* NamedItem(const CFX_WideStringC& wsName); 711 CXFA_Node* NamedItem(const CFX_WideStringC& wsName);
717 virtual int32_t GetLength() = 0; 712 virtual int32_t GetLength() = 0;
718 virtual FX_BOOL Append(CXFA_Node* pNode) = 0; 713 virtual FX_BOOL Append(CXFA_Node* pNode) = 0;
719 virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) = 0; 714 virtual FX_BOOL Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) = 0;
720 virtual FX_BOOL Remove(CXFA_Node* pNode) = 0; 715 virtual FX_BOOL Remove(CXFA_Node* pNode) = 0;
721 virtual CXFA_Node* Item(int32_t iIndex) = 0; 716 virtual CXFA_Node* Item(int32_t iIndex) = 0;
722 717
723 void Script_ListClass_Append(CFXJSE_Arguments* pArguments); 718 void Script_ListClass_Append(CFXJSE_Arguments* pArguments);
724 void Script_ListClass_Insert(CFXJSE_Arguments* pArguments); 719 void Script_ListClass_Insert(CFXJSE_Arguments* pArguments);
725 void Script_ListClass_Remove(CFXJSE_Arguments* pArguments); 720 void Script_ListClass_Remove(CFXJSE_Arguments* pArguments);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 817
823 inline CXFA_Node* ToNode(CXFA_Object* pObj) { 818 inline CXFA_Node* ToNode(CXFA_Object* pObj) {
824 return pObj ? pObj->AsNode() : nullptr; 819 return pObj ? pObj->AsNode() : nullptr;
825 } 820 }
826 821
827 inline const CXFA_Node* ToNode(const CXFA_Object* pObj) { 822 inline const CXFA_Node* ToNode(const CXFA_Object* pObj) {
828 return pObj ? pObj->AsNode() : nullptr; 823 return pObj ? pObj->AsNode() : nullptr;
829 } 824 }
830 825
831 #endif // XFA_FXFA_PARSER_XFA_OBJECT_H_ 826 #endif // XFA_FXFA_PARSER_XFA_OBJECT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698