1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2020 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 #ifndef TESTING_FUZZERS_XFA_PROCESS_STATE_H_ 6*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_FUZZERS_XFA_PROCESS_STATE_H_ 7*3ac0a46fSAndroid Build Coastguard Worker 8*3ac0a46fSAndroid Build Coastguard Worker #if !defined(PDF_ENABLE_XFA) 9*3ac0a46fSAndroid Build Coastguard Worker #error "XFA only" 10*3ac0a46fSAndroid Build Coastguard Worker #endif 11*3ac0a46fSAndroid Build Coastguard Worker 12*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/gc/heap.h" 13*3ac0a46fSAndroid Build Coastguard Worker 14*3ac0a46fSAndroid Build Coastguard Worker namespace v8 { 15*3ac0a46fSAndroid Build Coastguard Worker class Isolate; 16*3ac0a46fSAndroid Build Coastguard Worker class Platform; 17*3ac0a46fSAndroid Build Coastguard Worker } // namespace v8 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker class XFAProcessState { 20*3ac0a46fSAndroid Build Coastguard Worker public: 21*3ac0a46fSAndroid Build Coastguard Worker XFAProcessState(v8::Platform* platform, v8::Isolate* isolate); 22*3ac0a46fSAndroid Build Coastguard Worker ~XFAProcessState(); 23*3ac0a46fSAndroid Build Coastguard Worker 24*3ac0a46fSAndroid Build Coastguard Worker cppgc::Heap* GetHeap() const; 25*3ac0a46fSAndroid Build Coastguard Worker void ForceGCAndPump(); 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Worker private: 28*3ac0a46fSAndroid Build Coastguard Worker v8::Platform* const platform_; 29*3ac0a46fSAndroid Build Coastguard Worker v8::Isolate* const isolate_; 30*3ac0a46fSAndroid Build Coastguard Worker FXGCScopedHeap heap_; 31*3ac0a46fSAndroid Build Coastguard Worker }; 32*3ac0a46fSAndroid Build Coastguard Worker 33*3ac0a46fSAndroid Build Coastguard Worker #endif // TESTING_FUZZERS_XFA_PROCESS_STATE_H_ 34