Remove one form of CFXJSE_ScoeUtil_IsolateHandleContext constructor.

Removing knowledge of class CFXJSE_Engine from the isolate tracking
code improves separability down the road, etc. etc.

Change-Id: I37bc6bdffe89a3f90947e66791ebc950ca1fa958
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/76770
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cfxjse_engine.cpp b/fxjs/xfa/cfxjse_engine.cpp
index 1c42218..4f32bba 100644
--- a/fxjs/xfa/cfxjse_engine.cpp
+++ b/fxjs/xfa/cfxjse_engine.cpp
@@ -136,7 +136,7 @@
 CFXJSE_Engine::~CFXJSE_Engine() {
   // This is what ensures that the v8 object bound to a CJX_Object
   // no longer retains that binding since it will outlive that object.
-  CFXJSE_ScopeUtil_IsolateHandleContext scope(this);
+  CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
   for (const auto& pair : m_mapObjectToObject) {
     const v8::Global<v8::Object>& binding = pair.second;
     FXJSE_ClearObjectBinding(v8::Local<v8::Object>::New(GetIsolate(), binding));
@@ -147,7 +147,7 @@
                               WideStringView wsScript,
                               CFXJSE_Value* hRetValue,
                               CXFA_Object* pThisObject) {
-  CFXJSE_ScopeUtil_IsolateHandleContext scope(this);
+  CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
   AutoRestorer<CXFA_Script::Type> typeRestorer(&m_eScriptType);
   m_eScriptType = eScriptType;
 
@@ -627,7 +627,7 @@
 }
 
 void CFXJSE_Engine::RemoveBuiltInObjs(CFXJSE_Context* pContext) {
-  CFXJSE_ScopeUtil_IsolateHandleContext scope(this);
+  CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
   v8::Local<v8::Object> pObject = pContext->GetGlobalObject();
   fxv8::ReentrantDeleteObjectPropertyHelper(GetIsolate(), pObject, "Number");
   fxv8::ReentrantDeleteObjectPropertyHelper(GetIsolate(), pObject, "Date");
diff --git a/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp b/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
index b2cd1d2..977f3f7 100644
--- a/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
+++ b/fxjs/xfa/cfxjse_formcalc_context_embeddertest.cpp
@@ -19,6 +19,10 @@
   ~CFXJSE_FormCalcContextEmbedderTest() override = default;
 
  protected:
+  CFXJSE_Context* GetJseContext() {
+    return GetScriptContext()->GetJseContext();
+  }
+
   void ExecuteExpectError(ByteStringView input) {
     EXPECT_FALSE(Execute(input)) << "Program: " << input;
   }
@@ -26,14 +30,14 @@
   void ExecuteExpectNull(ByteStringView input) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     EXPECT_TRUE(fxv8::IsNull(GetValue())) << "Program: " << input;
   }
 
   void ExecuteExpectBool(ByteStringView input, bool expected) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     v8::Local<v8::Value> value = GetValue();
 
     // Yes, bools might be integers, somehow.
@@ -46,7 +50,7 @@
   void ExecuteExpectInt32(ByteStringView input, int32_t expected) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     v8::Local<v8::Value> value = GetValue();
     EXPECT_TRUE(fxv8::IsInteger(value)) << "Program: " << input;
     EXPECT_EQ(expected, fxv8::ReentrantToInt32Helper(isolate(), value))
@@ -56,7 +60,7 @@
   void ExecuteExpectFloat(ByteStringView input, float expected) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     v8::Local<v8::Value> value = GetValue();
     EXPECT_TRUE(fxv8::IsNumber(value));
     EXPECT_FLOAT_EQ(expected, fxv8::ReentrantToFloatHelper(isolate(), value))
@@ -68,7 +72,7 @@
                               float precision) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     v8::Local<v8::Value> value = GetValue();
     EXPECT_TRUE(fxv8::IsNumber(value));
     EXPECT_NEAR(expected, fxv8::ReentrantToFloatHelper(isolate(), value),
@@ -79,7 +83,7 @@
   void ExecuteExpectNaN(ByteStringView input) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     v8::Local<v8::Value> value = GetValue();
     EXPECT_TRUE(fxv8::IsNumber(value));
     EXPECT_TRUE(std::isnan(fxv8::ReentrantToDoubleHelper(isolate(), value)));
@@ -88,7 +92,7 @@
   void ExecuteExpectString(ByteStringView input, const char* expected) {
     EXPECT_TRUE(Execute(input)) << "Program: " << input;
 
-    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+    CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
     v8::Local<v8::Value> value = GetValue();
     EXPECT_TRUE(fxv8::IsString(value));
     EXPECT_STREQ(expected,
@@ -1128,7 +1132,7 @@
   ASSERT_TRUE(OpenDocument("simple_xfa.pdf"));
   EXPECT_TRUE(Execute("Uuid()"));
 
-  CFXJSE_ScopeUtil_IsolateHandleContext scope(GetScriptContext());
+  CFXJSE_ScopeUtil_IsolateHandleContext scope(GetJseContext());
   v8::Local<v8::Value> value = GetValue();
   EXPECT_TRUE(fxv8::IsString(value));
 }
diff --git a/fxjs/xfa/cfxjse_isolatetracker.cpp b/fxjs/xfa/cfxjse_isolatetracker.cpp
index 11274a0..acc56ab 100644
--- a/fxjs/xfa/cfxjse_isolatetracker.cpp
+++ b/fxjs/xfa/cfxjse_isolatetracker.cpp
@@ -7,7 +7,6 @@
 #include "fxjs/xfa/cfxjse_isolatetracker.h"
 
 #include "fxjs/xfa/cfxjse_context.h"
-#include "fxjs/xfa/cfxjse_engine.h"
 #include "fxjs/xfa/cfxjse_runtimedata.h"
 
 CFXJSE_ScopeUtil_IsolateHandle::CFXJSE_ScopeUtil_IsolateHandle(
@@ -25,10 +24,6 @@
     CFXJSE_Context* pContext)
     : isolate_handle_(pContext->GetIsolate()), context_(pContext) {}
 
-CFXJSE_ScopeUtil_IsolateHandleContext::CFXJSE_ScopeUtil_IsolateHandleContext(
-    CFXJSE_Engine* pEngine)
-    : CFXJSE_ScopeUtil_IsolateHandleContext(pEngine->GetJseContext()) {}
-
 CFXJSE_ScopeUtil_IsolateHandleContext::
     ~CFXJSE_ScopeUtil_IsolateHandleContext() = default;
 
diff --git a/fxjs/xfa/cfxjse_isolatetracker.h b/fxjs/xfa/cfxjse_isolatetracker.h
index d3105c8..3e78c57 100644
--- a/fxjs/xfa/cfxjse_isolatetracker.h
+++ b/fxjs/xfa/cfxjse_isolatetracker.h
@@ -10,7 +10,6 @@
 #include "v8/include/v8.h"
 
 class CFXJSE_Context;
-class CFXJSE_Engine;
 
 class CFXJSE_ScopeUtil_IsolateHandle {
  public:
@@ -46,7 +45,6 @@
 class CFXJSE_ScopeUtil_IsolateHandleContext {
  public:
   explicit CFXJSE_ScopeUtil_IsolateHandleContext(CFXJSE_Context* pContext);
-  explicit CFXJSE_ScopeUtil_IsolateHandleContext(CFXJSE_Engine* pEngine);
   CFXJSE_ScopeUtil_IsolateHandleContext(
       const CFXJSE_ScopeUtil_IsolateHandleContext&) = delete;
   CFXJSE_ScopeUtil_IsolateHandleContext& operator=(