Better encapsulate CFXJSE_RuntimeData
Bug: pdfium:1680
Change-Id: I7778a631350eadfddeec2db3e568c6f0c93f5935
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96753
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/xfa/cfxjse_context.cpp b/fxjs/xfa/cfxjse_context.cpp
index 25e93bf..37e5238 100644
--- a/fxjs/xfa/cfxjse_context.cpp
+++ b/fxjs/xfa/cfxjse_context.cpp
@@ -196,7 +196,7 @@
FXJSE_UpdateObjectBinding(pThis, pGlobalObject);
v8::Local<v8::Context> hRootContext = v8::Local<v8::Context>::New(
- pIsolate, CFXJSE_RuntimeData::Get(pIsolate)->m_hRootContext);
+ pIsolate, CFXJSE_RuntimeData::Get(pIsolate)->GetRootContext());
hNewContext->SetSecurityToken(hRootContext->GetSecurityToken());
pContext->m_hContext.Reset(pIsolate, hNewContext);
return pContext;
diff --git a/fxjs/xfa/cfxjse_isolatetracker.cpp b/fxjs/xfa/cfxjse_isolatetracker.cpp
index acc56ab..4bb5d9f 100644
--- a/fxjs/xfa/cfxjse_isolatetracker.cpp
+++ b/fxjs/xfa/cfxjse_isolatetracker.cpp
@@ -31,7 +31,7 @@
v8::Isolate* pIsolate)
: context_scope_(v8::Local<v8::Context>::New(
pIsolate,
- CFXJSE_RuntimeData::Get(pIsolate)->m_hRootContext)) {}
+ CFXJSE_RuntimeData::Get(pIsolate)->GetRootContext())) {}
CFXJSE_ScopeUtil_RootContext::~CFXJSE_ScopeUtil_RootContext() = default;
diff --git a/fxjs/xfa/cfxjse_runtimedata.h b/fxjs/xfa/cfxjse_runtimedata.h
index c896793..72bb79a 100644
--- a/fxjs/xfa/cfxjse_runtimedata.h
+++ b/fxjs/xfa/cfxjse_runtimedata.h
@@ -15,20 +15,21 @@
class CFXJSE_RuntimeData final : public FXJS_PerIsolateData::ExtensionIface {
public:
+ CFXJSE_RuntimeData(const CFXJSE_RuntimeData&) = delete;
+ CFXJSE_RuntimeData& operator=(const CFXJSE_RuntimeData&) = delete;
~CFXJSE_RuntimeData() override;
static CFXJSE_RuntimeData* Get(v8::Isolate* pIsolate);
- v8::Global<v8::FunctionTemplate> m_hRootContextGlobalTemplate;
- v8::Global<v8::Context> m_hRootContext;
+ const v8::Global<v8::Context>& GetRootContext() { return m_hRootContext; }
private:
static std::unique_ptr<CFXJSE_RuntimeData> Create(v8::Isolate* pIsolate);
CFXJSE_RuntimeData();
- CFXJSE_RuntimeData(const CFXJSE_RuntimeData&) = delete;
- CFXJSE_RuntimeData& operator=(const CFXJSE_RuntimeData&) = delete;
+ v8::Global<v8::FunctionTemplate> m_hRootContextGlobalTemplate;
+ v8::Global<v8::Context> m_hRootContext;
};
#endif // FXJS_XFA_CFXJSE_RUNTIMEDATA_H_