From 940967de0b588d3abb9cba5822ae5f5c5fe05017 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 18 May 2017 12:32:20 -0700 Subject: Use Unowned/Observed pointers between doc and FF onwership hierarchies. See the explanation in CPDFSDK_FormFillEnvironment.h Change-Id: I52feb25fb358831233a636e3ead5aa70e98c5baa Reviewed-on: https://pdfium-review.googlesource.com/5658 Reviewed-by: dsinclair Commit-Queue: Tom Sepez --- fpdfsdk/javascript/JS_Runtime_Stub.cpp | 5 +++-- fpdfsdk/javascript/cjs_event_context.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'fpdfsdk/javascript') diff --git a/fpdfsdk/javascript/JS_Runtime_Stub.cpp b/fpdfsdk/javascript/JS_Runtime_Stub.cpp index dcd8ceb97c..73a38fcfa6 100644 --- a/fpdfsdk/javascript/JS_Runtime_Stub.cpp +++ b/fpdfsdk/javascript/JS_Runtime_Stub.cpp @@ -6,6 +6,7 @@ #include +#include "core/fxcrt/cfx_unowned_ptr.h" #include "fpdfsdk/javascript/ijs_event_context.h" #include "fpdfsdk/javascript/ijs_runtime.h" #include "third_party/base/ptr_util.h" @@ -133,7 +134,7 @@ class CJS_RuntimeStub final : public IJS_Runtime { void ReleaseEventContext(IJS_EventContext* pContext) override {} CPDFSDK_FormFillEnvironment* GetFormFillEnv() const override { - return m_pFormFillEnv; + return m_pFormFillEnv.Get(); } #ifdef PDF_ENABLE_XFA @@ -152,7 +153,7 @@ class CJS_RuntimeStub final : public IJS_Runtime { } protected: - CPDFSDK_FormFillEnvironment* m_pFormFillEnv; + CFX_UnownedPtr const m_pFormFillEnv; std::unique_ptr m_pContext; }; diff --git a/fpdfsdk/javascript/cjs_event_context.h b/fpdfsdk/javascript/cjs_event_context.h index 7bfe52816d..715bd9462b 100644 --- a/fpdfsdk/javascript/cjs_event_context.h +++ b/fpdfsdk/javascript/cjs_event_context.h @@ -9,6 +9,7 @@ #include +#include "core/fxcrt/cfx_unowned_ptr.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" #include "fpdfsdk/javascript/ijs_event_context.h" @@ -121,13 +122,13 @@ class CJS_EventContext : public IJS_EventContext { void OnConsole_Exec() override; void OnExternal_Exec() override; - CJS_Runtime* GetJSRuntime() const { return m_pRuntime; } + CJS_Runtime* GetJSRuntime() const { return m_pRuntime.Get(); } CJS_EventHandler* GetEventHandler() const { return m_pEventHandler.get(); } CPDFSDK_FormFillEnvironment* GetFormFillEnv(); private: - CJS_Runtime* const m_pRuntime; + CFX_UnownedPtr const m_pRuntime; std::unique_ptr m_pEventHandler; bool m_bBusy; }; -- cgit v1.2.3