diff options
Diffstat (limited to 'fpdfsdk/fpdfxfa')
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_context.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_context.h | 12 | ||||
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h | 5 |
4 files changed, 13 insertions, 8 deletions
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp index 454e2187a3..93ecab0d08 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp +++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp @@ -358,6 +358,6 @@ bool CPDFXFA_Context::PutRequestURL(const CFX_WideString& wsURL, IFWL_AdapterTimerMgr* CPDFXFA_Context::GetTimerMgr() { CXFA_FWLAdapterTimerMgr* pAdapter = nullptr; if (m_pFormFillEnv) - pAdapter = new CXFA_FWLAdapterTimerMgr(m_pFormFillEnv); + pAdapter = new CXFA_FWLAdapterTimerMgr(m_pFormFillEnv.Get()); return pAdapter; } diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.h b/fpdfsdk/fpdfxfa/cpdfxfa_context.h index 8e6b2198af..690e1855e3 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_context.h +++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.h @@ -10,6 +10,8 @@ #include <memory> #include <vector> +#include "core/fxcrt/cfx_unowned_ptr.h" +#include "core/fxcrt/fx_system.h" #include "fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h" #include "xfa/fxfa/cxfa_ffdoc.h" @@ -36,12 +38,14 @@ class CPDFXFA_Context : public IXFA_AppProvider { bool LoadXFADoc(); CPDF_Document* GetPDFDoc() { return m_pPDFDoc.get(); } CXFA_FFDoc* GetXFADoc() { return m_pXFADoc.get(); } - CXFA_FFDocView* GetXFADocView() { return m_pXFADocView; } + CXFA_FFDocView* GetXFADocView() { return m_pXFADocView.Get(); } XFA_DocType GetDocType() const { return m_iDocType; } v8::Isolate* GetJSERuntime() const; CXFA_FFApp* GetXFAApp() { return m_pXFAApp.get(); } - CPDFSDK_FormFillEnvironment* GetFormFillEnv() const { return m_pFormFillEnv; } + CPDFSDK_FormFillEnvironment* GetFormFillEnv() const { + return m_pFormFillEnv.Get(); + } void SetFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv); void DeletePage(int page_index); @@ -102,8 +106,8 @@ class CPDFXFA_Context : public IXFA_AppProvider { std::unique_ptr<CPDF_Document> m_pPDFDoc; std::unique_ptr<CXFA_FFDoc> m_pXFADoc; - CPDFSDK_FormFillEnvironment* m_pFormFillEnv; // not owned. - CXFA_FFDocView* m_pXFADocView; // not owned. + CFX_UnownedPtr<CPDFSDK_FormFillEnvironment> m_pFormFillEnv; + CFX_UnownedPtr<CXFA_FFDocView> m_pXFADocView; std::unique_ptr<CXFA_FFApp> m_pXFAApp; std::unique_ptr<CJS_Runtime> m_pRuntime; std::vector<CPDFXFA_Page*> m_XFAPageList; diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp index 4464f1c43a..1a27d9b015 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp +++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp @@ -46,7 +46,7 @@ CPDFXFA_DocEnvironment::CPDFXFA_DocEnvironment(CPDFXFA_Context* pContext) CPDFXFA_DocEnvironment::~CPDFXFA_DocEnvironment() { if (m_pJSEventContext && m_pContext->GetFormFillEnv()) { m_pContext->GetFormFillEnv()->GetJSRuntime()->ReleaseEventContext( - m_pJSEventContext); + m_pJSEventContext.Get()); } } diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h index 8f1d238103..ec04e78db9 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h +++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h @@ -8,6 +8,7 @@ #define FPDFSDK_FPDFXFA_CPDFXFA_DOCENVIRONMENT_H_ #include "core/fxcrt/cfx_retain_ptr.h" +#include "core/fxcrt/cfx_unowned_ptr.h" #include "public/fpdfview.h" #include "xfa/fxfa/fxfa.h" @@ -105,8 +106,8 @@ class CPDFXFA_DocEnvironment : public IXFA_DocEnvironment { FPDF_DWORD flag); void ToXFAContentFlags(CFX_WideString csSrcContent, FPDF_DWORD& flag); - CPDFXFA_Context* const m_pContext; // Not owned. - IJS_EventContext* m_pJSEventContext; // Not owned. + CFX_UnownedPtr<CPDFXFA_Context> const m_pContext; + CFX_UnownedPtr<IJS_EventContext> m_pJSEventContext; }; #endif // FPDFSDK_FPDFXFA_CPDFXFA_DOCENVIRONMENT_H_ |