diff options
Diffstat (limited to 'fxjs/cfxjse_isolatetracker.h')
-rw-r--r-- | fxjs/cfxjse_isolatetracker.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/fxjs/cfxjse_isolatetracker.h b/fxjs/cfxjse_isolatetracker.h index 2bb16ca7ba..103b2757f6 100644 --- a/fxjs/cfxjse_isolatetracker.h +++ b/fxjs/cfxjse_isolatetracker.h @@ -7,19 +7,13 @@ #ifndef FXJS_CFXJSE_ISOLATETRACKER_H_ #define FXJS_CFXJSE_ISOLATETRACKER_H_ -#include <map> -#include <memory> -#include <vector> - -#include "v8/include/v8.h" - #include "fxjs/cfxjse_runtimedata.h" +#include "v8/include/v8.h" class CFXJSE_ScopeUtil_IsolateHandle { public: - explicit CFXJSE_ScopeUtil_IsolateHandle(v8::Isolate* pIsolate) - : m_isolate(pIsolate), m_iscope(pIsolate), m_hscope(pIsolate) {} - v8::Isolate* GetIsolate() { return m_isolate; } + explicit CFXJSE_ScopeUtil_IsolateHandle(v8::Isolate* pIsolate); + ~CFXJSE_ScopeUtil_IsolateHandle(); private: CFXJSE_ScopeUtil_IsolateHandle(const CFXJSE_ScopeUtil_IsolateHandle&) = @@ -28,18 +22,15 @@ class CFXJSE_ScopeUtil_IsolateHandle { void* operator new(size_t size) = delete; void operator delete(void*, size_t) = delete; - v8::Isolate* m_isolate; v8::Isolate::Scope m_iscope; v8::HandleScope m_hscope; }; -class CFXJSE_ScopeUtil_IsolateHandleRootContext { +class CFXJSE_ScopeUtil_IsolateHandleRootContext + : public CFXJSE_ScopeUtil_IsolateHandle { public: - explicit CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate* pIsolate) - : m_parent(pIsolate), - m_cscope(v8::Local<v8::Context>::New( - pIsolate, - CFXJSE_RuntimeData::Get(pIsolate)->m_hRootContext)) {} + explicit CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate* pIsolate); + ~CFXJSE_ScopeUtil_IsolateHandleRootContext(); private: CFXJSE_ScopeUtil_IsolateHandleRootContext( @@ -48,7 +39,6 @@ class CFXJSE_ScopeUtil_IsolateHandleRootContext { void* operator new(size_t size) = delete; void operator delete(void*, size_t) = delete; - CFXJSE_ScopeUtil_IsolateHandle m_parent; v8::Context::Scope m_cscope; }; |