Split up CFXJSE_ScopeUtil_IsolateHandleContext

Same with CFXJSE_ScopeUtil_IsolateHandleRootContext.

Subsequent CLs will seek to employ this logic to create a context
scope without introducing a new handle scope.

-- rename members to match style guide while at it.

Change-Id: Iddf9044c033da68c32609a8cede96b5dde64ecc6
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/76750
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cfxjse_isolatetracker.cpp b/fxjs/xfa/cfxjse_isolatetracker.cpp
index e9e92d4..11274a0 100644
--- a/fxjs/xfa/cfxjse_isolatetracker.cpp
+++ b/fxjs/xfa/cfxjse_isolatetracker.cpp
@@ -12,13 +12,18 @@
 
 CFXJSE_ScopeUtil_IsolateHandle::CFXJSE_ScopeUtil_IsolateHandle(
     v8::Isolate* pIsolate)
-    : m_iscope(pIsolate), m_hscope(pIsolate) {}
+    : isolate_scope_(pIsolate), handle_scope_(pIsolate) {}
 
 CFXJSE_ScopeUtil_IsolateHandle::~CFXJSE_ScopeUtil_IsolateHandle() = default;
 
+CFXJSE_ScopeUtil_Context::CFXJSE_ScopeUtil_Context(CFXJSE_Context* pContext)
+    : context_scope_(pContext->GetContext()) {}
+
+CFXJSE_ScopeUtil_Context::~CFXJSE_ScopeUtil_Context() = default;
+
 CFXJSE_ScopeUtil_IsolateHandleContext::CFXJSE_ScopeUtil_IsolateHandleContext(
     CFXJSE_Context* pContext)
-    : m_parent(pContext->GetIsolate()), m_cscope(pContext->GetContext()) {}
+    : isolate_handle_(pContext->GetIsolate()), context_(pContext) {}
 
 CFXJSE_ScopeUtil_IsolateHandleContext::CFXJSE_ScopeUtil_IsolateHandleContext(
     CFXJSE_Engine* pEngine)
@@ -27,12 +32,17 @@
 CFXJSE_ScopeUtil_IsolateHandleContext::
     ~CFXJSE_ScopeUtil_IsolateHandleContext() = default;
 
-CFXJSE_ScopeUtil_IsolateHandleRootContext::
-    CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate* pIsolate)
-    : CFXJSE_ScopeUtil_IsolateHandle(pIsolate),
-      m_cscope(v8::Local<v8::Context>::New(
+CFXJSE_ScopeUtil_RootContext::CFXJSE_ScopeUtil_RootContext(
+    v8::Isolate* pIsolate)
+    : context_scope_(v8::Local<v8::Context>::New(
           pIsolate,
           CFXJSE_RuntimeData::Get(pIsolate)->m_hRootContext)) {}
 
+CFXJSE_ScopeUtil_RootContext::~CFXJSE_ScopeUtil_RootContext() = default;
+
+CFXJSE_ScopeUtil_IsolateHandleRootContext::
+    CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate* pIsolate)
+    : isolate_handle_(pIsolate), root_context_(pIsolate) {}
+
 CFXJSE_ScopeUtil_IsolateHandleRootContext::
     ~CFXJSE_ScopeUtil_IsolateHandleRootContext() = default;
diff --git a/fxjs/xfa/cfxjse_isolatetracker.h b/fxjs/xfa/cfxjse_isolatetracker.h
index 32623b7..d3105c8 100644
--- a/fxjs/xfa/cfxjse_isolatetracker.h
+++ b/fxjs/xfa/cfxjse_isolatetracker.h
@@ -25,8 +25,22 @@
   void* operator new(size_t size) = delete;
   void operator delete(void*, size_t) = delete;
 
-  v8::Isolate::Scope m_iscope;
-  v8::HandleScope m_hscope;
+  v8::Isolate::Scope isolate_scope_;
+  v8::HandleScope handle_scope_;
+};
+
+class CFXJSE_ScopeUtil_Context {
+ public:
+  explicit CFXJSE_ScopeUtil_Context(CFXJSE_Context* pContext);
+  CFXJSE_ScopeUtil_Context(const CFXJSE_ScopeUtil_Context&) = delete;
+  CFXJSE_ScopeUtil_Context& operator=(const CFXJSE_ScopeUtil_Context&) = delete;
+  ~CFXJSE_ScopeUtil_Context();
+
+ private:
+  void* operator new(size_t size) = delete;
+  void operator delete(void*, size_t) = delete;
+
+  v8::Context::Scope context_scope_;
 };
 
 class CFXJSE_ScopeUtil_IsolateHandleContext {
@@ -43,12 +57,26 @@
   void* operator new(size_t size) = delete;
   void operator delete(void*, size_t) = delete;
 
-  CFXJSE_ScopeUtil_IsolateHandle m_parent;
-  v8::Context::Scope m_cscope;
+  CFXJSE_ScopeUtil_IsolateHandle isolate_handle_;
+  CFXJSE_ScopeUtil_Context context_;
 };
 
-class CFXJSE_ScopeUtil_IsolateHandleRootContext final
-    : public CFXJSE_ScopeUtil_IsolateHandle {
+class CFXJSE_ScopeUtil_RootContext {
+ public:
+  explicit CFXJSE_ScopeUtil_RootContext(v8::Isolate* pIsolate);
+  CFXJSE_ScopeUtil_RootContext(const CFXJSE_ScopeUtil_RootContext&) = delete;
+  CFXJSE_ScopeUtil_RootContext& operator=(const CFXJSE_ScopeUtil_RootContext&) =
+      delete;
+  ~CFXJSE_ScopeUtil_RootContext();
+
+ private:
+  void* operator new(size_t size) = delete;
+  void operator delete(void*, size_t) = delete;
+
+  v8::Context::Scope context_scope_;
+};
+
+class CFXJSE_ScopeUtil_IsolateHandleRootContext {
  public:
   explicit CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate* pIsolate);
   CFXJSE_ScopeUtil_IsolateHandleRootContext(
@@ -61,7 +89,8 @@
   void* operator new(size_t size) = delete;
   void operator delete(void*, size_t) = delete;
 
-  v8::Context::Scope m_cscope;
+  CFXJSE_ScopeUtil_IsolateHandle isolate_handle_;
+  CFXJSE_ScopeUtil_RootContext root_context_;
 };
 
 #endif  // FXJS_XFA_CFXJSE_ISOLATETRACKER_H_