1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef XFA_FXFA_PARSER_CXFA_THISPROXY_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define XFA_FXFA_PARSER_CXFA_THISPROXY_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/cppgc/member.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/cppgc/visitor.h" 12*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fxfa/parser/cxfa_object.h" 13*3ac0a46fSAndroid Build Coastguard Worker 14*3ac0a46fSAndroid Build Coastguard Worker class CXFA_Node; 15*3ac0a46fSAndroid Build Coastguard Worker class CXFA_Script; 16*3ac0a46fSAndroid Build Coastguard Worker 17*3ac0a46fSAndroid Build Coastguard Worker class CXFA_ThisProxy final : public CXFA_Object { 18*3ac0a46fSAndroid Build Coastguard Worker public: 19*3ac0a46fSAndroid Build Coastguard Worker CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; 20*3ac0a46fSAndroid Build Coastguard Worker ~CXFA_ThisProxy() override; 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker void Trace(cppgc::Visitor* visitor) const override; 23*3ac0a46fSAndroid Build Coastguard Worker GetThisNode()24*3ac0a46fSAndroid Build Coastguard Worker CXFA_Node* GetThisNode() const { return m_pThisNode; } GetScriptNode()25*3ac0a46fSAndroid Build Coastguard Worker CXFA_Script* GetScriptNode() const { return m_pScriptNode; } 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Worker private: 28*3ac0a46fSAndroid Build Coastguard Worker CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Script* pScriptNode); 29*3ac0a46fSAndroid Build Coastguard Worker 30*3ac0a46fSAndroid Build Coastguard Worker cppgc::Member<CXFA_Node> m_pThisNode; 31*3ac0a46fSAndroid Build Coastguard Worker cppgc::Member<CXFA_Script> m_pScriptNode; 32*3ac0a46fSAndroid Build Coastguard Worker }; 33*3ac0a46fSAndroid Build Coastguard Worker 34*3ac0a46fSAndroid Build Coastguard Worker #endif // XFA_FXFA_PARSER_CXFA_THISPROXY_H_ 35