Remove CFXJSE_ResolveProcessor::SetEngine()

Pass it into constructor and make member const.

Change-Id: I814f8f0c8fea9411652f754e51b95135e74356c4
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96110
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cfxjse_engine.cpp b/fxjs/xfa/cfxjse_engine.cpp
index 1e190fc..6142beb 100644
--- a/fxjs/xfa/cfxjse_engine.cpp
+++ b/fxjs/xfa/cfxjse_engine.cpp
@@ -119,10 +119,8 @@
   return pJSObject ? pJSObject->GetXFAObject() : nullptr;
 }
 
-CFXJSE_Engine::CFXJSE_Engine(
-    CXFA_Document* pDocument,
-    CJS_Runtime* fxjs_runtime,
-    std::unique_ptr<CFXJSE_ResolveProcessor> pProcessor)
+CFXJSE_Engine::CFXJSE_Engine(CXFA_Document* pDocument,
+                             CJS_Runtime* fxjs_runtime)
     : CFX_V8(fxjs_runtime->GetIsolate()),
       m_pSubordinateRuntime(fxjs_runtime),
       m_pDocument(pDocument),
@@ -130,8 +128,7 @@
                                          &kGlobalClassDescriptor,
                                          pDocument->GetRoot()->JSObject(),
                                          nullptr)),
-      m_ResolveProcessor(std::move(pProcessor)) {
-  m_ResolveProcessor->SetEngine(this);
+      m_ResolveProcessor(std::make_unique<CFXJSE_ResolveProcessor>(this)) {
   RemoveBuiltInObjs(m_JsContext.get());
   m_JsContext->EnableCompatibleMode();
 
diff --git a/fxjs/xfa/cfxjse_engine.h b/fxjs/xfa/cfxjse_engine.h
index 8fbc599..ce8108e 100644
--- a/fxjs/xfa/cfxjse_engine.h
+++ b/fxjs/xfa/cfxjse_engine.h
@@ -106,9 +106,7 @@
                                                   ByteStringView szPropName,
                                                   bool bQueryIn);
 
-  CFXJSE_Engine(CXFA_Document* pDocument,
-                CJS_Runtime* fxjs_runtime,
-                std::unique_ptr<CFXJSE_ResolveProcessor> pProcessor);
+  CFXJSE_Engine(CXFA_Document* pDocument, CJS_Runtime* fxjs_runtime);
   ~CFXJSE_Engine() override;
 
   void SetEventParam(CXFA_EventParam* param) { m_eventParam = param; }
diff --git a/fxjs/xfa/cfxjse_resolveprocessor.cpp b/fxjs/xfa/cfxjse_resolveprocessor.cpp
index a945b97..20dc040 100644
--- a/fxjs/xfa/cfxjse_resolveprocessor.cpp
+++ b/fxjs/xfa/cfxjse_resolveprocessor.cpp
@@ -25,16 +25,12 @@
 #include "xfa/fxfa/parser/cxfa_occur.h"
 #include "xfa/fxfa/parser/xfa_utils.h"
 
-CFXJSE_ResolveProcessor::CFXJSE_ResolveProcessor()
-    : m_pNodeHelper(std::make_unique<CFXJSE_NodeHelper>()) {}
+CFXJSE_ResolveProcessor::CFXJSE_ResolveProcessor(CFXJSE_Engine* pEngine)
+    : m_pEngine(pEngine),
+      m_pNodeHelper(std::make_unique<CFXJSE_NodeHelper>()) {}
 
 CFXJSE_ResolveProcessor::~CFXJSE_ResolveProcessor() = default;
 
-void CFXJSE_ResolveProcessor::SetEngine(CFXJSE_Engine* pEngine) {
-  DCHECK(!m_pEngine);
-  m_pEngine = pEngine;
-}
-
 bool CFXJSE_ResolveProcessor::Resolve(v8::Isolate* pIsolate, NodeData& rnd) {
   if (!rnd.m_CurObject)
     return false;
diff --git a/fxjs/xfa/cfxjse_resolveprocessor.h b/fxjs/xfa/cfxjse_resolveprocessor.h
index d8b076b..3ab63de 100644
--- a/fxjs/xfa/cfxjse_resolveprocessor.h
+++ b/fxjs/xfa/cfxjse_resolveprocessor.h
@@ -36,10 +36,9 @@
     CFXJSE_Engine::ResolveResult m_Result;
   };
 
-  CFXJSE_ResolveProcessor();
+  explicit CFXJSE_ResolveProcessor(CFXJSE_Engine* pEngine);
   ~CFXJSE_ResolveProcessor();
 
-  void SetEngine(CFXJSE_Engine* pEngine);
   bool Resolve(v8::Isolate* pIsolate, NodeData& rnd);
   int32_t GetFilter(WideStringView wsExpression, int32_t nStart, NodeData& rnd);
   int32_t IndexForDataBind(const WideString& wsNextCondition, int32_t iCount);
@@ -72,7 +71,7 @@
                          NodeData* pRnd);
 
   int32_t m_iCurStart = 0;
-  UnownedPtr<CFXJSE_Engine> m_pEngine;
+  UnownedPtr<CFXJSE_Engine> const m_pEngine;
   std::unique_ptr<CFXJSE_NodeHelper> const m_pNodeHelper;
 };
 
diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp
index f4485fe..119cb08 100644
--- a/xfa/fxfa/parser/cxfa_document.cpp
+++ b/xfa/fxfa/parser/cxfa_document.cpp
@@ -1456,8 +1456,7 @@
 
 CFXJSE_Engine* CXFA_Document::InitScriptContext(CJS_Runtime* fxjs_runtime) {
   DCHECK(!m_pScriptContext);
-  m_pScriptContext = std::make_unique<CFXJSE_Engine>(
-      this, fxjs_runtime, std::make_unique<CFXJSE_ResolveProcessor>());
+  m_pScriptContext = std::make_unique<CFXJSE_Engine>(this, fxjs_runtime);
   return m_pScriptContext.get();
 }