summaryrefslogtreecommitdiff
path: root/fpdfsdk
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk')
-rw-r--r--fpdfsdk/cfx_systemhandler.cpp1
-rw-r--r--fpdfsdk/cpdfsdk_annothandlermgr.cpp3
-rw-r--r--fpdfsdk/cpdfsdk_baannot.cpp1
-rw-r--r--fpdfsdk/cpdfsdk_document.cpp247
-rw-r--r--fpdfsdk/cpdfsdk_document.h105
-rw-r--r--fpdfsdk/cpdfsdk_formfillenvironment.cpp217
-rw-r--r--fpdfsdk/cpdfsdk_formfillenvironment.h78
-rw-r--r--fpdfsdk/cpdfsdk_interform.cpp25
-rw-r--r--fpdfsdk/cpdfsdk_pageview.cpp21
-rw-r--r--fpdfsdk/cpdfsdk_pageview.h1
-rw-r--r--fpdfsdk/cpdfsdk_widget.cpp24
-rw-r--r--fpdfsdk/cpdfsdk_widgethandler.cpp6
-rw-r--r--fpdfsdk/cpdfsdk_xfawidgethandler.cpp13
-rw-r--r--fpdfsdk/formfiller/cffl_formfiller.cpp6
-rw-r--r--fpdfsdk/formfiller/cffl_interactiveformfiller.cpp17
-rw-r--r--fpdfsdk/fpdfformfill.cpp31
-rw-r--r--fpdfsdk/fpdfview.cpp2
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp50
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_document.cpp7
-rw-r--r--fpdfsdk/fsdk_actionhandler.cpp26
-rw-r--r--fpdfsdk/fsdk_baseform_embeddertest.cpp7
-rw-r--r--fpdfsdk/javascript/Document.cpp110
-rw-r--r--fpdfsdk/javascript/Field.cpp70
-rw-r--r--fpdfsdk/javascript/PublicMethods.cpp3
-rw-r--r--fpdfsdk/javascript/app.cpp7
25 files changed, 457 insertions, 621 deletions
diff --git a/fpdfsdk/cfx_systemhandler.cpp b/fpdfsdk/cfx_systemhandler.cpp
index 72cb9f57ed..62bad46ba0 100644
--- a/fpdfsdk/cfx_systemhandler.cpp
+++ b/fpdfsdk/cfx_systemhandler.cpp
@@ -13,7 +13,6 @@
#include "core/fxge/cfx_fontmgr.h"
#include "core/fxge/cfx_gemodule.h"
#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
#include "fpdfsdk/cpdfsdk_widget.h"
diff --git a/fpdfsdk/cpdfsdk_annothandlermgr.cpp b/fpdfsdk/cpdfsdk_annothandlermgr.cpp
index b7bb760295..5324c3fef3 100644
--- a/fpdfsdk/cpdfsdk_annothandlermgr.cpp
+++ b/fpdfsdk/cpdfsdk_annothandlermgr.cpp
@@ -12,7 +12,6 @@
#include "fpdfsdk/cpdfsdk_baannot.h"
#include "fpdfsdk/cpdfsdk_baannothandler.h"
#include "fpdfsdk/cpdfsdk_datetime.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
#include "fpdfsdk/cpdfsdk_widgethandler.h"
@@ -205,7 +204,7 @@ FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnKeyDown(CPDFSDK_Annot* pAnnot,
CPDFSDK_Annot::ObservedPtr pNext(
GetNextAnnot(pFocusAnnot, !m_pEnv->IsSHIFTKeyDown(nFlag)));
if (pNext && pNext.Get() != pFocusAnnot) {
- pPage->GetFormFillEnv()->GetSDKDocument()->SetFocusAnnot(&pNext);
+ pPage->GetFormFillEnv()->SetFocusAnnot(&pNext);
return TRUE;
}
}
diff --git a/fpdfsdk/cpdfsdk_baannot.cpp b/fpdfsdk/cpdfsdk_baannot.cpp
index 7d2a92ac10..72468e180f 100644
--- a/fpdfsdk/cpdfsdk_baannot.cpp
+++ b/fpdfsdk/cpdfsdk_baannot.cpp
@@ -12,7 +12,6 @@
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "fpdfsdk/cpdfsdk_datetime.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
CPDFSDK_BAAnnot::CPDFSDK_BAAnnot(CPDF_Annot* pAnnot,
diff --git a/fpdfsdk/cpdfsdk_document.cpp b/fpdfsdk/cpdfsdk_document.cpp
deleted file mode 100644
index 0aeb91974a..0000000000
--- a/fpdfsdk/cpdfsdk_document.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "fpdfsdk/cpdfsdk_document.h"
-
-#include "core/fpdfapi/parser/cpdf_array.h"
-#include "core/fpdfapi/parser/cpdf_dictionary.h"
-#include "core/fpdfapi/parser/cpdf_document.h"
-#include "core/fpdfapi/parser/cpdf_object.h"
-#include "core/fpdfdoc/cpdf_action.h"
-#include "core/fpdfdoc/cpdf_docjsactions.h"
-#include "core/fpdfdoc/cpdf_occontext.h"
-#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_annothandlermgr.h"
-#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
-#include "fpdfsdk/cpdfsdk_interform.h"
-#include "fpdfsdk/cpdfsdk_pageview.h"
-#include "fpdfsdk/cpdfsdk_widget.h"
-#include "fpdfsdk/fsdk_actionhandler.h"
-#include "third_party/base/ptr_util.h"
-
-CPDFSDK_Document::CPDFSDK_Document(UnderlyingDocumentType* pDoc,
- CPDFSDK_FormFillEnvironment* pEnv)
- : m_pDoc(pDoc),
- m_pEnv(pEnv),
- m_bChangeMask(FALSE),
- m_bBeingDestroyed(FALSE) {}
-
-CPDFSDK_Document::~CPDFSDK_Document() {
- m_bBeingDestroyed = TRUE;
-
- ClearAllFocusedAnnots();
- for (auto& it : m_pageMap)
- delete it.second;
- m_pageMap.clear();
-}
-
-void CPDFSDK_Document::ClearAllFocusedAnnots() {
- for (auto& it : m_pageMap) {
- if (it.second->IsValidSDKAnnot(GetFocusAnnot()))
- KillFocusAnnot(0);
- }
-}
-
-CPDFSDK_PageView* CPDFSDK_Document::GetPageView(
- UnderlyingPageType* pUnderlyingPage,
- bool ReNew) {
- auto it = m_pageMap.find(pUnderlyingPage);
- if (it != m_pageMap.end())
- return it->second;
-
- if (!ReNew)
- return nullptr;
-
- CPDFSDK_PageView* pPageView = new CPDFSDK_PageView(GetEnv(), pUnderlyingPage);
- m_pageMap[pUnderlyingPage] = pPageView;
- // Delay to load all the annotations, to avoid endless loop.
- pPageView->LoadFXAnnots();
- return pPageView;
-}
-
-CPDFSDK_PageView* CPDFSDK_Document::GetCurrentView() {
- UnderlyingPageType* pPage =
- UnderlyingFromFPDFPage(m_pEnv->GetCurrentPage(m_pDoc));
- return pPage ? GetPageView(pPage, true) : nullptr;
-}
-
-CPDFSDK_PageView* CPDFSDK_Document::GetPageView(int nIndex) {
- UnderlyingPageType* pTempPage =
- UnderlyingFromFPDFPage(m_pEnv->GetPage(m_pDoc, nIndex));
- if (!pTempPage)
- return nullptr;
-
- auto it = m_pageMap.find(pTempPage);
- return it != m_pageMap.end() ? it->second : nullptr;
-}
-
-void CPDFSDK_Document::ProcJavascriptFun() {
- CPDF_Document* pPDFDoc = GetPDFDocument();
- CPDF_DocJSActions docJS(pPDFDoc);
- int iCount = docJS.CountJSActions();
- if (iCount < 1)
- return;
- for (int i = 0; i < iCount; i++) {
- CFX_ByteString csJSName;
- CPDF_Action jsAction = docJS.GetJSAction(i, csJSName);
- if (m_pEnv->GetActionHander())
- m_pEnv->GetActionHander()->DoAction_JavaScript(
- jsAction, CFX_WideString::FromLocal(csJSName.AsStringC()), GetEnv());
- }
-}
-
-FX_BOOL CPDFSDK_Document::ProcOpenAction() {
- if (!m_pDoc)
- return FALSE;
-
- CPDF_Dictionary* pRoot = GetPDFDocument()->GetRoot();
- if (!pRoot)
- return FALSE;
-
- CPDF_Object* pOpenAction = pRoot->GetDictFor("OpenAction");
- if (!pOpenAction)
- pOpenAction = pRoot->GetArrayFor("OpenAction");
-
- if (!pOpenAction)
- return FALSE;
-
- if (pOpenAction->IsArray())
- return TRUE;
-
- if (CPDF_Dictionary* pDict = pOpenAction->AsDictionary()) {
- CPDF_Action action(pDict);
- if (m_pEnv->GetActionHander())
- m_pEnv->GetActionHander()->DoAction_DocOpen(action, GetEnv());
- return TRUE;
- }
- return FALSE;
-}
-
-void CPDFSDK_Document::RemovePageView(UnderlyingPageType* pUnderlyingPage) {
- auto it = m_pageMap.find(pUnderlyingPage);
- if (it == m_pageMap.end())
- return;
-
- CPDFSDK_PageView* pPageView = it->second;
- if (pPageView->IsLocked() || pPageView->IsBeingDestroyed())
- return;
-
- // Mark the page view so we do not come into |RemovePageView| a second
- // time while we're in the process of removing.
- pPageView->SetBeingDestroyed();
-
- // This must happen before we remove |pPageView| from the map because
- // |KillFocusAnnot| can call into the |GetPage| method which will
- // look for this page view in the map, if it doesn't find it a new one will
- // be created. We then have two page views pointing to the same page and
- // bad things happen.
- if (pPageView->IsValidSDKAnnot(GetFocusAnnot()))
- KillFocusAnnot(0);
-
- // Remove the page from the map to make sure we don't accidentally attempt
- // to use the |pPageView| while we're cleaning it up.
- m_pageMap.erase(it);
-
- delete pPageView;
-}
-
-UnderlyingPageType* CPDFSDK_Document::GetPage(int nIndex) {
- return UnderlyingFromFPDFPage(m_pEnv->GetPage(m_pDoc, nIndex));
-}
-
-CPDFSDK_InterForm* CPDFSDK_Document::GetInterForm() {
- if (!m_pInterForm)
- m_pInterForm = pdfium::MakeUnique<CPDFSDK_InterForm>(GetEnv());
- return m_pInterForm.get();
-}
-
-void CPDFSDK_Document::UpdateAllViews(CPDFSDK_PageView* pSender,
- CPDFSDK_Annot* pAnnot) {
- for (const auto& it : m_pageMap) {
- CPDFSDK_PageView* pPageView = it.second;
- if (pPageView != pSender)
- pPageView->UpdateView(pAnnot);
- }
-}
-
-FX_BOOL CPDFSDK_Document::SetFocusAnnot(CPDFSDK_Annot::ObservedPtr* pAnnot) {
- if (m_bBeingDestroyed)
- return FALSE;
- if (m_pFocusAnnot == *pAnnot)
- return TRUE;
- if (m_pFocusAnnot && !KillFocusAnnot(0))
- return FALSE;
- if (!*pAnnot)
- return FALSE;
-
-#ifdef PDF_ENABLE_XFA
- CPDFSDK_Annot::ObservedPtr pLastFocusAnnot(m_pFocusAnnot.Get());
-#endif // PDF_ENABLE_XFA
- CPDFSDK_PageView* pPageView = (*pAnnot)->GetPageView();
- if (pPageView && pPageView->IsValid()) {
- CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pEnv->GetAnnotHandlerMgr();
- if (!m_pFocusAnnot) {
-#ifdef PDF_ENABLE_XFA
- if (!pAnnotHandler->Annot_OnChangeFocus(pAnnot, &pLastFocusAnnot))
- return FALSE;
-#endif // PDF_ENABLE_XFA
- if (!pAnnotHandler->Annot_OnSetFocus(pAnnot, 0))
- return FALSE;
- if (!m_pFocusAnnot) {
- m_pFocusAnnot.Reset(pAnnot->Get());
- return TRUE;
- }
- }
- }
- return FALSE;
-}
-
-FX_BOOL CPDFSDK_Document::KillFocusAnnot(uint32_t nFlag) {
- if (m_pFocusAnnot) {
- CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pEnv->GetAnnotHandlerMgr();
- CPDFSDK_Annot::ObservedPtr pFocusAnnot(m_pFocusAnnot.Get());
- m_pFocusAnnot.Reset();
-
-#ifdef PDF_ENABLE_XFA
- CPDFSDK_Annot::ObservedPtr pNull;
- if (!pAnnotHandler->Annot_OnChangeFocus(&pNull, &pFocusAnnot))
- return FALSE;
-#endif // PDF_ENABLE_XFA
-
- if (pAnnotHandler->Annot_OnKillFocus(&pFocusAnnot, nFlag)) {
- if (pFocusAnnot->GetAnnotSubtype() == CPDF_Annot::Subtype::WIDGET) {
- CPDFSDK_Widget* pWidget =
- static_cast<CPDFSDK_Widget*>(pFocusAnnot.Get());
- int nFieldType = pWidget->GetFieldType();
- if (FIELDTYPE_TEXTFIELD == nFieldType ||
- FIELDTYPE_COMBOBOX == nFieldType) {
- m_pEnv->OnSetFieldInputFocus(nullptr, 0, FALSE);
- }
- }
- if (!m_pFocusAnnot)
- return TRUE;
- } else {
- m_pFocusAnnot.Reset(pFocusAnnot.Get());
- }
- }
- return FALSE;
-}
-
-void CPDFSDK_Document::OnCloseDocument() {
- KillFocusAnnot(0);
-}
-
-FX_BOOL CPDFSDK_Document::GetPermissions(int nFlag) {
- return GetPDFDocument()->GetUserPermissions() & nFlag;
-}
-
-IJS_Runtime* CPDFSDK_Document::GetJsRuntime() {
- return m_pEnv->GetJSRuntime();
-}
-
-CFX_WideString CPDFSDK_Document::GetPath() {
- return m_pEnv->JS_docGetFilePath();
-}
diff --git a/fpdfsdk/cpdfsdk_document.h b/fpdfsdk/cpdfsdk_document.h
deleted file mode 100644
index b765ed54ea..0000000000
--- a/fpdfsdk/cpdfsdk_document.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef FPDFSDK_CPDFSDK_DOCUMENT_H_
-#define FPDFSDK_CPDFSDK_DOCUMENT_H_
-
-#include <map>
-#include <memory>
-
-#include "core/fpdfapi/parser/cpdf_document.h"
-#include "core/fxcrt/cfx_observable.h"
-#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/fsdk_define.h"
-#include "public/fpdf_formfill.h"
-
-class CPDFSDK_FormFillEnvironment;
-class CPDFSDK_InterForm;
-class CPDFSDK_PageView;
-class IJS_Runtime;
-
-class CPDFSDK_Document : public CFX_Observable<CPDFSDK_Document> {
- public:
- CPDFSDK_Document(UnderlyingDocumentType* pDoc,
- CPDFSDK_FormFillEnvironment* pEnv);
- ~CPDFSDK_Document();
-
- CPDFSDK_InterForm* GetInterForm();
-
- // Gets the document object for the next layer down; for master this is
- // a CPDF_Document, but for XFA it is a CPDFXFA_Document.
- UnderlyingDocumentType* GetUnderlyingDocument() const {
-#ifdef PDF_ENABLE_XFA
- return GetXFADocument();
-#else // PDF_ENABLE_XFA
- return GetPDFDocument();
-#endif // PDF_ENABLE_XFA
- }
-
- // Gets the CPDF_Document, either directly in master, or from the
- // CPDFXFA_Document for XFA.
- CPDF_Document* GetPDFDocument() const {
-#ifdef PDF_ENABLE_XFA
- return m_pDoc ? m_pDoc->GetPDFDoc() : nullptr;
-#else // PDF_ENABLE_XFA
- return m_pDoc;
-#endif // PDF_ENABLE_XFA
- }
-
-#ifdef PDF_ENABLE_XFA
- // Gets the XFA document directly (XFA-only).
- CPDFXFA_Document* GetXFADocument() const { return m_pDoc; }
- void ResetXFADocument() { m_pDoc = nullptr; }
-
- int GetPageViewCount() const { return m_pageMap.size(); }
-#endif // PDF_ENABLE_XFA
-
- CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPage, bool ReNew);
- CPDFSDK_PageView* GetPageView(int nIndex);
- CPDFSDK_PageView* GetCurrentView();
- void RemovePageView(UnderlyingPageType* pPage);
- void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot);
-
- IJS_Runtime* GetJsRuntime();
-
- CPDFSDK_Annot* GetFocusAnnot() { return m_pFocusAnnot.Get(); }
- FX_BOOL SetFocusAnnot(CPDFSDK_Annot::ObservedPtr* pAnnot);
- FX_BOOL KillFocusAnnot(uint32_t nFlag);
- void ClearAllFocusedAnnots();
-
- FX_BOOL ExtractPages(const std::vector<uint16_t>& arrExtraPages,
- CPDF_Document* pDstDoc);
- FX_BOOL InsertPages(int nInsertAt,
- const CPDF_Document* pSrcDoc,
- const std::vector<uint16_t>& arrSrcPages);
- FX_BOOL ReplacePages(int nPage,
- const CPDF_Document* pSrcDoc,
- const std::vector<uint16_t>& arrSrcPages);
-
- void OnCloseDocument();
-
- int GetPageCount() { return m_pDoc->GetPageCount(); }
- FX_BOOL GetPermissions(int nFlag);
- FX_BOOL GetChangeMark() { return m_bChangeMask; }
- void SetChangeMark() { m_bChangeMask = TRUE; }
- void ClearChangeMark() { m_bChangeMask = FALSE; }
- CFX_WideString GetPath();
- UnderlyingPageType* GetPage(int nIndex);
- CPDFSDK_FormFillEnvironment* GetEnv() { return m_pEnv; }
- void ProcJavascriptFun();
- FX_BOOL ProcOpenAction();
-
- private:
- std::map<UnderlyingPageType*, CPDFSDK_PageView*> m_pageMap;
- UnderlyingDocumentType* m_pDoc;
- std::unique_ptr<CPDFSDK_InterForm> m_pInterForm;
- CPDFSDK_Annot::ObservedPtr m_pFocusAnnot;
- CPDFSDK_FormFillEnvironment* m_pEnv;
- FX_BOOL m_bChangeMask;
- FX_BOOL m_bBeingDestroyed;
-};
-
-#endif // FPDFSDK_CPDFSDK_DOCUMENT_H_
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
index 7b41ea148c..2beaadeb1a 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
@@ -8,8 +8,12 @@
#include <memory>
+#include "core/fpdfapi/parser/cpdf_array.h"
+#include "core/fpdfdoc/cpdf_docjsactions.h"
#include "fpdfsdk/cpdfsdk_annothandlermgr.h"
-#include "fpdfsdk/cpdfsdk_document.h"
+#include "fpdfsdk/cpdfsdk_interform.h"
+#include "fpdfsdk/cpdfsdk_pageview.h"
+#include "fpdfsdk/cpdfsdk_widget.h"
#include "fpdfsdk/formfiller/cffl_interactiveformfiller.h"
#include "fpdfsdk/fsdk_actionhandler.h"
#include "fpdfsdk/javascript/ijs_runtime.h"
@@ -34,11 +38,19 @@ CPDFSDK_FormFillEnvironment::CPDFSDK_FormFillEnvironment(
UnderlyingDocumentType* pDoc,
FPDF_FORMFILLINFO* pFFinfo)
: m_pInfo(pFFinfo),
- m_pSDKDoc(new CPDFSDK_Document(pDoc, this)),
m_pUnderlyingDoc(pDoc),
- m_pSysHandler(new CFX_SystemHandler(this)) {}
+ m_pSysHandler(new CFX_SystemHandler(this)),
+ m_bChangeMask(FALSE),
+ m_bBeingDestroyed(FALSE) {}
CPDFSDK_FormFillEnvironment::~CPDFSDK_FormFillEnvironment() {
+ m_bBeingDestroyed = TRUE;
+
+ ClearAllFocusedAnnots();
+ for (auto& it : m_pageMap)
+ delete it.second;
+ m_pageMap.clear();
+
// |m_pAnnotHandlerMgr| will try to access |m_pFormFiller|
// when it cleans up. So, we must make sure it is cleaned up before
// |m_pFormFiller|.
@@ -562,3 +574,202 @@ void CPDFSDK_FormFillEnvironment::PageEvent(int iPageCount,
m_pInfo->FFI_PageEvent(m_pInfo, iPageCount, dwEventType);
}
#endif // PDF_ENABLE_XFA
+
+void CPDFSDK_FormFillEnvironment::ClearAllFocusedAnnots() {
+ for (auto& it : m_pageMap) {
+ if (it.second->IsValidSDKAnnot(GetFocusAnnot()))
+ KillFocusAnnot(0);
+ }
+}
+
+CPDFSDK_PageView* CPDFSDK_FormFillEnvironment::GetPageView(
+ UnderlyingPageType* pUnderlyingPage,
+ bool ReNew) {
+ auto it = m_pageMap.find(pUnderlyingPage);
+ if (it != m_pageMap.end())
+ return it->second;
+
+ if (!ReNew)
+ return nullptr;
+
+ CPDFSDK_PageView* pPageView = new CPDFSDK_PageView(this, pUnderlyingPage);
+ m_pageMap[pUnderlyingPage] = pPageView;
+ // Delay to load all the annotations, to avoid endless loop.
+ pPageView->LoadFXAnnots();
+ return pPageView;
+}
+
+CPDFSDK_PageView* CPDFSDK_FormFillEnvironment::GetCurrentView() {
+ UnderlyingPageType* pPage =
+ UnderlyingFromFPDFPage(GetCurrentPage(m_pUnderlyingDoc));
+ return pPage ? GetPageView(pPage, true) : nullptr;
+}
+
+CPDFSDK_PageView* CPDFSDK_FormFillEnvironment::GetPageView(int nIndex) {
+ UnderlyingPageType* pTempPage =
+ UnderlyingFromFPDFPage(GetPage(m_pUnderlyingDoc, nIndex));
+ if (!pTempPage)
+ return nullptr;
+
+ auto it = m_pageMap.find(pTempPage);
+ return it != m_pageMap.end() ? it->second : nullptr;
+}
+
+void CPDFSDK_FormFillEnvironment::ProcJavascriptFun() {
+ CPDF_Document* pPDFDoc = GetPDFDocument();
+ CPDF_DocJSActions docJS(pPDFDoc);
+ int iCount = docJS.CountJSActions();
+ if (iCount < 1)
+ return;
+ for (int i = 0; i < iCount; i++) {
+ CFX_ByteString csJSName;
+ CPDF_Action jsAction = docJS.GetJSAction(i, csJSName);
+ if (GetActionHander()) {
+ GetActionHander()->DoAction_JavaScript(
+ jsAction, CFX_WideString::FromLocal(csJSName.AsStringC()), this);
+ }
+ }
+}
+
+FX_BOOL CPDFSDK_FormFillEnvironment::ProcOpenAction() {
+ if (!m_pUnderlyingDoc)
+ return FALSE;
+
+ CPDF_Dictionary* pRoot = GetPDFDocument()->GetRoot();
+ if (!pRoot)
+ return FALSE;
+
+ CPDF_Object* pOpenAction = pRoot->GetDictFor("OpenAction");
+ if (!pOpenAction)
+ pOpenAction = pRoot->GetArrayFor("OpenAction");
+
+ if (!pOpenAction)
+ return FALSE;
+
+ if (pOpenAction->IsArray())
+ return TRUE;
+
+ if (CPDF_Dictionary* pDict = pOpenAction->AsDictionary()) {
+ CPDF_Action action(pDict);
+ if (GetActionHander())
+ GetActionHander()->DoAction_DocOpen(action, this);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void CPDFSDK_FormFillEnvironment::RemovePageView(
+ UnderlyingPageType* pUnderlyingPage) {
+ auto it = m_pageMap.find(pUnderlyingPage);
+ if (it == m_pageMap.end())
+ return;
+
+ CPDFSDK_PageView* pPageView = it->second;
+ if (pPageView->IsLocked() || pPageView->IsBeingDestroyed())
+ return;
+
+ // Mark the page view so we do not come into |RemovePageView| a second
+ // time while we're in the process of removing.
+ pPageView->SetBeingDestroyed();
+
+ // This must happen before we remove |pPageView| from the map because
+ // |KillFocusAnnot| can call into the |GetPage| method which will
+ // look for this page view in the map, if it doesn't find it a new one will
+ // be created. We then have two page views pointing to the same page and
+ // bad things happen.
+ if (pPageView->IsValidSDKAnnot(GetFocusAnnot()))
+ KillFocusAnnot(0);
+
+ // Remove the page from the map to make sure we don't accidentally attempt
+ // to use the |pPageView| while we're cleaning it up.
+ m_pageMap.erase(it);
+
+ delete pPageView;
+}
+
+UnderlyingPageType* CPDFSDK_FormFillEnvironment::GetPage(int nIndex) {
+ return UnderlyingFromFPDFPage(GetPage(m_pUnderlyingDoc, nIndex));
+}
+
+CPDFSDK_InterForm* CPDFSDK_FormFillEnvironment::GetInterForm() {
+ if (!m_pInterForm)
+ m_pInterForm = pdfium::MakeUnique<CPDFSDK_InterForm>(this);
+ return m_pInterForm.get();
+}
+
+void CPDFSDK_FormFillEnvironment::UpdateAllViews(CPDFSDK_PageView* pSender,
+ CPDFSDK_Annot* pAnnot) {
+ for (const auto& it : m_pageMap) {
+ CPDFSDK_PageView* pPageView = it.second;
+ if (pPageView != pSender)
+ pPageView->UpdateView(pAnnot);
+ }
+}
+
+FX_BOOL CPDFSDK_FormFillEnvironment::SetFocusAnnot(
+ CPDFSDK_Annot::ObservedPtr* pAnnot) {
+ if (m_bBeingDestroyed)
+ return FALSE;
+ if (m_pFocusAnnot == *pAnnot)
+ return TRUE;
+ if (m_pFocusAnnot && !KillFocusAnnot(0))
+ return FALSE;
+ if (!*pAnnot)
+ return FALSE;
+
+#ifdef PDF_ENABLE_XFA
+ CPDFSDK_Annot::ObservedPtr pLastFocusAnnot(m_pFocusAnnot.Get());
+#endif // PDF_ENABLE_XFA
+ CPDFSDK_PageView* pPageView = (*pAnnot)->GetPageView();
+ if (pPageView && pPageView->IsValid()) {
+ CPDFSDK_AnnotHandlerMgr* pAnnotHandler = GetAnnotHandlerMgr();
+ if (!m_pFocusAnnot) {
+#ifdef PDF_ENABLE_XFA
+ if (!pAnnotHandler->Annot_OnChangeFocus(pAnnot, &pLastFocusAnnot))
+ return FALSE;
+#endif // PDF_ENABLE_XFA
+ if (!pAnnotHandler->Annot_OnSetFocus(pAnnot, 0))
+ return FALSE;
+ if (!m_pFocusAnnot) {
+ m_pFocusAnnot.Reset(pAnnot->Get());
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+
+FX_BOOL CPDFSDK_FormFillEnvironment::KillFocusAnnot(uint32_t nFlag) {
+ if (m_pFocusAnnot) {
+ CPDFSDK_AnnotHandlerMgr* pAnnotHandler = GetAnnotHandlerMgr();
+ CPDFSDK_Annot::ObservedPtr pFocusAnnot(m_pFocusAnnot.Get());
+ m_pFocusAnnot.Reset();
+
+#ifdef PDF_ENABLE_XFA
+ CPDFSDK_Annot::ObservedPtr pNull;
+ if (!pAnnotHandler->Annot_OnChangeFocus(&pNull, &pFocusAnnot))
+ return FALSE;
+#endif // PDF_ENABLE_XFA
+
+ if (pAnnotHandler->Annot_OnKillFocus(&pFocusAnnot, nFlag)) {
+ if (pFocusAnnot->GetAnnotSubtype() == CPDF_Annot::Subtype::WIDGET) {
+ CPDFSDK_Widget* pWidget =
+ static_cast<CPDFSDK_Widget*>(pFocusAnnot.Get());
+ int nFieldType = pWidget->GetFieldType();
+ if (FIELDTYPE_TEXTFIELD == nFieldType ||
+ FIELDTYPE_COMBOBOX == nFieldType) {
+ OnSetFieldInputFocus(nullptr, 0, FALSE);
+ }
+ }
+ if (!m_pFocusAnnot)
+ return TRUE;
+ } else {
+ m_pFocusAnnot.Reset(pFocusAnnot.Get());
+ }
+ }
+ return FALSE;
+}
+
+FX_BOOL CPDFSDK_FormFillEnvironment::GetPermissions(int nFlag) {
+ return GetPDFDocument()->GetUserPermissions() & nFlag;
+}
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.h b/fpdfsdk/cpdfsdk_formfillenvironment.h
index e5a693288f..dd0e6bffe1 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.h
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.h
@@ -14,6 +14,7 @@
#include "core/fpdfdoc/cpdf_occontext.h"
#include "core/fxcrt/cfx_observable.h"
#include "fpdfsdk/cfx_systemhandler.h"
+#include "fpdfsdk/cpdfsdk_annot.h"
#include "fpdfsdk/fsdk_define.h"
#include "public/fpdf_formfill.h"
#include "public/fpdf_fwlevent.h"
@@ -22,7 +23,8 @@ class CFFL_InteractiveFormFiller;
class CFX_SystemHandler;
class CPDFSDK_ActionHandler;
class CPDFSDK_AnnotHandlerMgr;
-class CPDFSDK_Document;
+class CPDFSDK_InterForm;
+class CPDFSDK_PageView;
class IJS_Runtime;
class CPDFSDK_FormFillEnvironment
@@ -32,6 +34,68 @@ class CPDFSDK_FormFillEnvironment
FPDF_FORMFILLINFO* pFFinfo);
~CPDFSDK_FormFillEnvironment();
+ CPDFSDK_InterForm* GetInterForm();
+
+ // Gets the document object for the next layer down; for master this is
+ // a CPDF_Document, but for XFA it is a CPDFXFA_Document.
+ UnderlyingDocumentType* GetUnderlyingDocument() const {
+#ifdef PDF_ENABLE_XFA
+ return GetXFADocument();
+#else // PDF_ENABLE_XFA
+ return GetPDFDocument();
+#endif // PDF_ENABLE_XFA
+ }
+
+ // Gets the CPDF_Document, either directly in master, or from the
+ // CPDFXFA_Document for XFA.
+ CPDF_Document* GetPDFDocument() const {
+#ifdef PDF_ENABLE_XFA
+ return m_pUnderlyingDoc ? m_pUnderlyingDoc->GetPDFDoc() : nullptr;
+#else // PDF_ENABLE_XFA
+ return m_pUnderlyingDoc;
+#endif // PDF_ENABLE_XFA
+ }
+
+#ifdef PDF_ENABLE_XFA
+ // Gets the XFA document directly (XFA-only).
+ CPDFXFA_Document* GetXFADocument() const { return m_pUnderlyingDoc; }
+ void ResetXFADocument() { m_pUnderlyingDoc = nullptr; }
+
+ int GetPageViewCount() const { return m_pageMap.size(); }
+#endif // PDF_ENABLE_XFA
+
+ CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPage, bool ReNew);
+ CPDFSDK_PageView* GetPageView(int nIndex);
+ CPDFSDK_PageView* GetCurrentView();
+ void RemovePageView(UnderlyingPageType* pPage);
+ void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot);
+
+ CPDFSDK_Annot* GetFocusAnnot() { return m_pFocusAnnot.Get(); }
+ FX_BOOL SetFocusAnnot(CPDFSDK_Annot::ObservedPtr* pAnnot);
+ FX_BOOL KillFocusAnnot(uint32_t nFlag);
+ void ClearAllFocusedAnnots();
+
+ FX_BOOL ExtractPages(const std::vector<uint16_t>& arrExtraPages,
+ CPDF_Document* pDstDoc);
+ FX_BOOL InsertPages(int nInsertAt,
+ const CPDF_Document* pSrcDoc,
+ const std::vector<uint16_t>& arrSrcPages);
+ FX_BOOL ReplacePages(int nPage,
+ const CPDF_Document* pSrcDoc,
+ const std::vector<uint16_t>& arrSrcPages);
+
+ int GetPageCount() { return m_pUnderlyingDoc->GetPageCount(); }
+ FX_BOOL GetPermissions(int nFlag);
+
+ FX_BOOL GetChangeMark() { return m_bChangeMask; }
+ void SetChangeMark() { m_bChangeMask = TRUE; }
+ void ClearChangeMark() { m_bChangeMask = FALSE; }
+
+ UnderlyingPageType* GetPage(int nIndex);
+
+ void ProcJavascriptFun();
+ FX_BOOL ProcOpenAction();
+
void Invalidate(FPDF_PAGE page,
double left,
double top,
@@ -148,10 +212,6 @@ class CPDFSDK_FormFillEnvironment
void JS_docgotoPage(int nPageNum);
FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; }
- CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc.get(); }
- UnderlyingDocumentType* GetUnderlyingDocument() const {
- return m_pUnderlyingDoc;
- }
CFX_ByteString GetAppName() const { return ""; }
CFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); }
FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; }
@@ -167,10 +227,14 @@ class CPDFSDK_FormFillEnvironment
std::unique_ptr<CPDFSDK_ActionHandler> m_pActionHandler;
std::unique_ptr<IJS_Runtime> m_pJSRuntime;
FPDF_FORMFILLINFO* const m_pInfo;
- std::unique_ptr<CPDFSDK_Document> m_pSDKDoc;
- UnderlyingDocumentType* const m_pUnderlyingDoc;
+ std::map<UnderlyingPageType*, CPDFSDK_PageView*> m_pageMap;
+ std::unique_ptr<CPDFSDK_InterForm> m_pInterForm;
+ CPDFSDK_Annot::ObservedPtr m_pFocusAnnot;
+ UnderlyingDocumentType* m_pUnderlyingDoc;
std::unique_ptr<CFFL_InteractiveFormFiller> m_pFormFiller;
std::unique_ptr<CFX_SystemHandler> m_pSysHandler;
+ FX_BOOL m_bChangeMask;
+ FX_BOOL m_bBeingDestroyed;
};
#endif // FPDFSDK_CPDFSDK_FORMFILLENVIRONMENT_H_
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp
index 005079dda9..81836f7923 100644
--- a/fpdfsdk/cpdfsdk_interform.cpp
+++ b/fpdfsdk/cpdfsdk_interform.cpp
@@ -22,7 +22,6 @@
#include "core/fxge/cfx_renderdevice.h"
#include "fpdfsdk/cba_annotiterator.h"
#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
#include "fpdfsdk/cpdfsdk_widget.h"
@@ -48,8 +47,7 @@
CPDFSDK_InterForm::CPDFSDK_InterForm(CPDFSDK_FormFillEnvironment* pFormFillEnv)
: m_pFormFillEnv(pFormFillEnv),
- m_pInterForm(new CPDF_InterForm(
- m_pFormFillEnv->GetSDKDocument()->GetPDFDocument())),
+ m_pInterForm(new CPDF_InterForm(m_pFormFillEnv->GetPDFDocument())),
#ifdef PDF_ENABLE_XFA
m_bXfaCalculate(TRUE),
m_bXfaValidationsEnabled(TRUE),
@@ -99,19 +97,19 @@ CPDFSDK_Widget* CPDFSDK_InterForm::GetWidget(CPDF_FormControl* pControl,
return nullptr;
CPDF_Dictionary* pControlDict = pControl->GetWidget();
- CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
CPDFSDK_PageView* pPage = nullptr;
if (CPDF_Dictionary* pPageDict = pControlDict->GetDictFor("P")) {
int nPageIndex = pDocument->GetPageIndex(pPageDict->GetObjNum());
if (nPageIndex >= 0)
- pPage = m_pFormFillEnv->GetSDKDocument()->GetPageView(nPageIndex);
+ pPage = m_pFormFillEnv->GetPageView(nPageIndex);
}
if (!pPage) {
int nPageIndex = GetPageIndexByAnnotDict(pDocument, pControlDict);
if (nPageIndex >= 0)
- pPage = m_pFormFillEnv->GetSDKDocument()->GetPageView(nPageIndex);
+ pPage = m_pFormFillEnv->GetPageView(nPageIndex);
}
if (!pPage)
@@ -336,8 +334,7 @@ void CPDFSDK_InterForm::UpdateField(CPDF_FormField* pFormField) {
if (CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl, false)) {
UnderlyingPageType* pPage = pWidget->GetUnderlyingPage();
- CPDFSDK_PageView* pPageView =
- m_pFormFillEnv->GetSDKDocument()->GetPageView(pPage, false);
+ CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetPageView(pPage, false);
FX_RECT rcBBox = m_pFormFillEnv->GetInteractiveFormFiller()->GetViewBBox(
pPageView, pWidget);
@@ -513,9 +510,9 @@ FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(
const std::vector<CPDF_FormField*>& fields,
bool bIncludeOrExclude,
CFX_ByteTextBuf& textBuf) {
- std::unique_ptr<CFDF_Document> pFDF(m_pInterForm->ExportToFDF(
- m_pFormFillEnv->GetSDKDocument()->GetPath().AsStringC(), fields,
- bIncludeOrExclude, false));
+ std::unique_ptr<CFDF_Document> pFDF(
+ m_pInterForm->ExportToFDF(m_pFormFillEnv->JS_docGetFilePath().AsStringC(),
+ fields, bIncludeOrExclude, false));
return pFDF ? pFDF->WriteBuf(textBuf) : FALSE;
}
@@ -529,10 +526,10 @@ FX_BOOL CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination,
if (sDestination.IsEmpty())
return FALSE;
- if (!m_pFormFillEnv || !m_pFormFillEnv->GetSDKDocument() || !m_pInterForm)
+ if (!m_pFormFillEnv || !m_pInterForm)
return FALSE;
- CFX_WideString wsPDFFilePath = m_pFormFillEnv->GetSDKDocument()->GetPath();
+ CFX_WideString wsPDFFilePath = m_pFormFillEnv->JS_docGetFilePath();
CFDF_Document* pFDFDoc =
m_pInterForm->ExportToFDF(wsPDFFilePath.AsStringC(), false);
if (!pFDFDoc)
@@ -560,7 +557,7 @@ FX_BOOL CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination,
FX_BOOL CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf) {
CFDF_Document* pFDF = m_pInterForm->ExportToFDF(
- m_pFormFillEnv->GetSDKDocument()->GetPath().AsStringC(), false);
+ m_pFormFillEnv->JS_docGetFilePath().AsStringC(), false);
if (!pFDF)
return FALSE;
diff --git a/fpdfsdk/cpdfsdk_pageview.cpp b/fpdfsdk/cpdfsdk_pageview.cpp
index a5c60d6f68..348f2d1fab 100644
--- a/fpdfsdk/cpdfsdk_pageview.cpp
+++ b/fpdfsdk/cpdfsdk_pageview.cpp
@@ -42,8 +42,7 @@ CPDFSDK_PageView::CPDFSDK_PageView(CPDFSDK_FormFillEnvironment* pFormFillEnv,
m_bValid(FALSE),
m_bLocked(FALSE),
m_bBeingDestroyed(false) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
if (pInterForm) {
CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm();
#ifdef PDF_ENABLE_XFA
@@ -197,7 +196,7 @@ FX_BOOL CPDFSDK_PageView::DeleteAnnot(CPDFSDK_Annot* pAnnot) {
return FALSE;
if (GetFocusAnnot() == pAnnot)
- m_pFormFillEnv->GetSDKDocument()->KillFocusAnnot(0);
+ m_pFormFillEnv->KillFocusAnnot(0);
CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pFormFillEnv->GetAnnotHandlerMgr();
if (pAnnotHandler)
pAnnotHandler->ReleaseAnnot(pAnnot);
@@ -256,7 +255,7 @@ FX_BOOL CPDFSDK_PageView::OnLButtonDown(const CFX_FloatPoint& point,
uint32_t nFlag) {
CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y));
if (!pAnnot) {
- m_pFormFillEnv->GetSDKDocument()->KillFocusAnnot(nFlag);
+ m_pFormFillEnv->KillFocusAnnot(nFlag);
return FALSE;
}
@@ -268,7 +267,7 @@ FX_BOOL CPDFSDK_PageView::OnLButtonDown(const CFX_FloatPoint& point,
if (!pAnnot)
return FALSE;
- m_pFormFillEnv->GetSDKDocument()->SetFocusAnnot(&pAnnot);
+ m_pFormFillEnv->SetFocusAnnot(&pAnnot);
return TRUE;
}
@@ -287,7 +286,7 @@ FX_BOOL CPDFSDK_PageView::OnRButtonDown(const CFX_FloatPoint& point,
return FALSE;
if (ok)
- m_pFormFillEnv->GetSDKDocument()->SetFocusAnnot(&pAnnot);
+ m_pFormFillEnv->SetFocusAnnot(&pAnnot);
return TRUE;
}
@@ -301,7 +300,7 @@ FX_BOOL CPDFSDK_PageView::OnRButtonUp(const CFX_FloatPoint& point,
return FALSE;
if (pAnnotHandlerMgr->Annot_OnRButtonUp(this, &pFXAnnot, nFlag, point))
- m_pFormFillEnv->GetSDKDocument()->SetFocusAnnot(&pFXAnnot);
+ m_pFormFillEnv->SetFocusAnnot(&pFXAnnot);
return TRUE;
}
@@ -399,8 +398,7 @@ void CPDFSDK_PageView::LoadFXAnnots() {
#ifdef PDF_ENABLE_XFA
CFX_RetainPtr<CPDFXFA_Page> protector(m_page);
- if (m_pFormFillEnv->GetSDKDocument()->GetXFADocument()->GetDocType() ==
- DOCTYPE_DYNAMIC_XFA) {
+ if (m_pFormFillEnv->GetXFADocument()->GetDocType() == DOCTYPE_DYNAMIC_XFA) {
CXFA_FFPageView* pageView = m_page->GetXFAPageView();
std::unique_ptr<IXFA_WidgetIterator> pWidgetHander(
pageView->CreateWidgetIterator(
@@ -498,13 +496,12 @@ bool CPDFSDK_PageView::IsValidSDKAnnot(const CPDFSDK_Annot* p) const {
}
CPDFSDK_Annot* CPDFSDK_PageView::GetFocusAnnot() {
- CPDFSDK_Annot* pFocusAnnot =
- m_pFormFillEnv->GetSDKDocument()->GetFocusAnnot();
+ CPDFSDK_Annot* pFocusAnnot = m_pFormFillEnv->GetFocusAnnot();
return IsValidSDKAnnot(pFocusAnnot) ? pFocusAnnot : nullptr;
}
int CPDFSDK_PageView::GetPageIndexForStaticPDF() const {
CPDF_Dictionary* pDict = GetPDFPage()->m_pFormDict;
- CPDF_Document* pDoc = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pDoc = m_pFormFillEnv->GetPDFDocument();
return (pDoc && pDict) ? pDoc->GetPageIndex(pDict->GetObjNum()) : -1;
}
diff --git a/fpdfsdk/cpdfsdk_pageview.h b/fpdfsdk/cpdfsdk_pageview.h
index a265436b8f..6878324514 100644
--- a/fpdfsdk/cpdfsdk_pageview.h
+++ b/fpdfsdk/cpdfsdk_pageview.h
@@ -13,7 +13,6 @@
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fxcrt/fx_system.h"
#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_document.h"
class CFX_RenderDevice;
class CPDF_AnnotList;
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index 4ce7d9a48a..e1624a08b5 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -19,7 +19,6 @@
#include "core/fxge/cfx_graphstatedata.h"
#include "core/fxge/cfx_pathdata.h"
#include "core/fxge/cfx_renderdevice.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -69,8 +68,7 @@ CPDFSDK_Widget::~CPDFSDK_Widget() {}
#ifdef PDF_ENABLE_XFA
CXFA_FFWidget* CPDFSDK_Widget::GetMixXFAWidget() const {
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) {
if (!m_hMixXFAWidget) {
if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) {
@@ -94,8 +92,7 @@ CXFA_FFWidget* CPDFSDK_Widget::GetMixXFAWidget() const {
}
CXFA_FFWidget* CPDFSDK_Widget::GetGroupMixXFAWidget() {
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) {
if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView()) {
CFX_WideString sName = GetName();
@@ -108,8 +105,7 @@ CXFA_FFWidget* CPDFSDK_Widget::GetGroupMixXFAWidget() {
}
CXFA_FFWidgetHandler* CPDFSDK_Widget::GetXFAWidgetHandler() const {
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) {
if (!m_pWidgetHandler) {
if (CXFA_FFDocView* pDocView = pDoc->GetXFADocView())
@@ -223,8 +219,7 @@ FX_BOOL CPDFSDK_Widget::HasXFAAAction(PDFSDK_XFAAActionType eXFAAAT) {
FX_BOOL CPDFSDK_Widget::OnXFAAAction(PDFSDK_XFAAActionType eXFAAAT,
PDFSDK_FieldAction& data,
CPDFSDK_PageView* pPageView) {
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
CXFA_FFWidget* hWidget = GetMixXFAWidget();
if (!hWidget)
@@ -327,8 +322,7 @@ void CPDFSDK_Widget::Synchronize(FX_BOOL bSynchronizeElse) {
}
void CPDFSDK_Widget::SynchronizeXFAValue() {
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
CXFA_FFDocView* pXFADocView = pDoc->GetXFADocView();
if (!pXFADocView)
return;
@@ -342,8 +336,7 @@ void CPDFSDK_Widget::SynchronizeXFAValue() {
}
void CPDFSDK_Widget::SynchronizeXFAItems() {
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
CXFA_FFDocView* pXFADocView = pDoc->GetXFADocView();
if (!pXFADocView)
return;
@@ -509,8 +502,7 @@ int CPDFSDK_Widget::GetFieldType() const {
FX_BOOL CPDFSDK_Widget::IsAppearanceValid() {
#ifdef PDF_ENABLE_XFA
- CPDFXFA_Document* pDoc =
- m_pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = m_pPageView->GetFormFillEnv()->GetXFADocument();
int nDocType = pDoc->GetDocType();
if (nDocType != DOCTYPE_PDF && nDocType != DOCTYPE_STATIC_XFA)
return TRUE;
@@ -1834,7 +1826,7 @@ FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type,
CPDFSDK_FormFillEnvironment* pFormFillEnv = pPageView->GetFormFillEnv();
#ifdef PDF_ENABLE_XFA
- CPDFXFA_Document* pDoc = pFormFillEnv->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = pFormFillEnv->GetXFADocument();
if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) {
XFA_EVENTTYPE eEventType = GetXFAEventType(type, data.bWillCommit);
diff --git a/fpdfsdk/cpdfsdk_widgethandler.cpp b/fpdfsdk/cpdfsdk_widgethandler.cpp
index 2509eb6285..a75e6c7c49 100644
--- a/fpdfsdk/cpdfsdk_widgethandler.cpp
+++ b/fpdfsdk/cpdfsdk_widgethandler.cpp
@@ -13,7 +13,6 @@
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfdoc/cpdf_interform.h"
#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -54,7 +53,7 @@ FX_BOOL CPDFSDK_WidgetHandler::CanAnswer(CPDFSDK_Annot* pAnnot) {
CPDFSDK_Annot* CPDFSDK_WidgetHandler::NewAnnot(CPDF_Annot* pAnnot,
CPDFSDK_PageView* pPage) {
- CPDFSDK_InterForm* pInterForm = m_pEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pEnv->GetInterForm();
CPDF_FormControl* pCtrl = CPDFSDK_Widget::GetFormControl(
pInterForm->GetInterForm(), pAnnot->GetAnnotDict());
if (!pCtrl)
@@ -239,8 +238,7 @@ void CPDFSDK_WidgetHandler::OnLoad(CPDFSDK_Annot* pAnnot) {
#ifdef PDF_ENABLE_XFA
CPDFSDK_PageView* pPageView = pAnnot->GetPageView();
- CPDFXFA_Document* pDoc =
- pPageView->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = pPageView->GetFormFillEnv()->GetXFADocument();
if (pDoc->GetDocType() == DOCTYPE_STATIC_XFA) {
if (!pWidget->IsAppearanceValid() && !pWidget->GetValue().IsEmpty())
pWidget->ResetAppearance(FALSE);
diff --git a/fpdfsdk/cpdfsdk_xfawidgethandler.cpp b/fpdfsdk/cpdfsdk_xfawidgethandler.cpp
index 48fda86476..a7310a7638 100644
--- a/fpdfsdk/cpdfsdk_xfawidgethandler.cpp
+++ b/fpdfsdk/cpdfsdk_xfawidgethandler.cpp
@@ -8,7 +8,6 @@
#include "core/fpdfdoc/cpdf_interform.h"
#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -39,7 +38,7 @@ CPDFSDK_Annot* CPDFSDK_XFAWidgetHandler::NewAnnot(CPDF_Annot* pAnnot,
CPDFSDK_Annot* CPDFSDK_XFAWidgetHandler::NewAnnot(CXFA_FFWidget* pAnnot,
CPDFSDK_PageView* pPage) {
- CPDFSDK_InterForm* pInterForm = m_pEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pEnv->GetInterForm();
CPDFSDK_XFAWidget* pWidget = new CPDFSDK_XFAWidget(pAnnot, pPage, pInterForm);
pInterForm->AddXFAMap(pAnnot, pWidget);
return pWidget;
@@ -60,7 +59,7 @@ void CPDFSDK_XFAWidgetHandler::OnDraw(CPDFSDK_PageView* pPageView,
mt = *pUser2Device;
FX_BOOL bIsHighlight = FALSE;
- if (pPageView->GetFormFillEnv()->GetSDKDocument()->GetFocusAnnot() != pAnnot)
+ if (pPageView->GetFormFillEnv()->GetFocusAnnot() != pAnnot)
bIsHighlight = TRUE;
GetXFAWidgetHandler(pAnnot)->RenderWidget(pAnnot->GetXFAWidget(), &gs, &mt,
@@ -107,10 +106,10 @@ FX_BOOL CPDFSDK_XFAWidgetHandler::HitTest(CPDFSDK_PageView* pPageView,
return FALSE;
CPDFSDK_FormFillEnvironment* pFormFillEnv = pPageView->GetFormFillEnv();
- if (!pFormFillEnv->GetSDKDocument())
+ if (!pFormFillEnv)
return FALSE;
- CPDFXFA_Document* pDoc = pFormFillEnv->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = pFormFillEnv->GetXFADocument();
if (!pDoc)
return FALSE;
@@ -332,10 +331,10 @@ CXFA_FFWidgetHandler* CPDFSDK_XFAWidgetHandler::GetXFAWidgetHandler(
return nullptr;
CPDFSDK_FormFillEnvironment* pFormFillEnv = pPageView->GetFormFillEnv();
- if (!pFormFillEnv->GetSDKDocument())
+ if (!pFormFillEnv)
return nullptr;
- CPDFXFA_Document* pDoc = pFormFillEnv->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = pFormFillEnv->GetXFADocument();
if (!pDoc)
return nullptr;
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
index 86818b1c75..30609fdac4 100644
--- a/fpdfsdk/formfiller/cffl_formfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_formfiller.cpp
@@ -8,7 +8,6 @@
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fxge/cfx_renderdevice.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
#include "fpdfsdk/cpdfsdk_widget.h"
@@ -245,8 +244,7 @@ FX_BOOL CFFL_FormFiller::OnChar(CPDFSDK_Annot* pAnnot,
void CFFL_FormFiller::SetFocusForAnnot(CPDFSDK_Annot* pAnnot, uint32_t nFlag) {
CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
UnderlyingPageType* pPage = pWidget->GetUnderlyingPage();
- CPDFSDK_PageView* pPageView =
- m_pEnv->GetSDKDocument()->GetPageView(pPage, true);
+ CPDFSDK_PageView* pPageView = m_pEnv->GetPageView(pPage, true);
if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, TRUE))
pWnd->SetFocus();
@@ -452,7 +450,7 @@ CFX_FloatRect CFFL_FormFiller::GetPDFWindowRect() const {
CPDFSDK_PageView* CFFL_FormFiller::GetCurPageView(bool renew) {
UnderlyingPageType* pPage = m_pAnnot->GetUnderlyingPage();
- return m_pEnv ? m_pEnv->GetSDKDocument()->GetPageView(pPage, renew) : nullptr;
+ return m_pEnv ? m_pEnv->GetPageView(pPage, renew) : nullptr;
}
CFX_FloatRect CFFL_FormFiller::GetFocusBox(CPDFSDK_PageView* pPageView) {
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
index e3a136eebe..b06dfdba4a 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
@@ -11,7 +11,6 @@
#include "core/fxge/cfx_graphstatedata.h"
#include "core/fxge/cfx_pathdata.h"
#include "core/fxge/cfx_renderdevice.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -67,7 +66,7 @@ void CFFL_InteractiveFormFiller::OnDraw(CPDFSDK_PageView* pPageView,
pFormFiller->OnDraw(pPageView, pAnnot, pDevice, pUser2Device);
pAnnot->GetPDFPage();
- if (m_pEnv->GetSDKDocument()->GetFocusAnnot() == pAnnot) {
+ if (m_pEnv->GetFocusAnnot() == pAnnot) {
CFX_FloatRect rcFocus = pFormFiller->GetFocusBox(pPageView);
if (!rcFocus.IsEmpty()) {
CFX_PathData path;
@@ -229,10 +228,10 @@ FX_BOOL CFFL_InteractiveFormFiller::OnLButtonUp(
case FIELDTYPE_RADIOBUTTON:
if (GetViewBBox(pPageView, pAnnot->Get())
.Contains((int)point.x, (int)point.y))
- m_pEnv->GetSDKDocument()->SetFocusAnnot(pAnnot);
+ m_pEnv->SetFocusAnnot(pAnnot);
break;
default:
- m_pEnv->GetSDKDocument()->SetFocusAnnot(pAnnot);
+ m_pEnv->SetFocusAnnot(pAnnot);
break;
}
@@ -240,7 +239,7 @@ FX_BOOL CFFL_InteractiveFormFiller::OnLButtonUp(
if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot->Get(), FALSE))
bRet = pFormFiller->OnLButtonUp(pPageView, pAnnot->Get(), nFlags, point);
- if (m_pEnv->GetSDKDocument()->GetFocusAnnot() == pAnnot->Get()) {
+ if (m_pEnv->GetFocusAnnot() == pAnnot->Get()) {
FX_BOOL bExit = FALSE;
FX_BOOL bReset = FALSE;
OnButtonUp(pAnnot, pPageView, bReset, bExit, nFlags);
@@ -672,8 +671,7 @@ void CFFL_InteractiveFormFiller::OnCalculate(CPDFSDK_Widget* pWidget,
uint32_t nFlag) {
if (!m_bNotifying) {
ASSERT(pWidget);
- CPDFSDK_InterForm* pInterForm =
- pPageView->GetFormFillEnv()->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pPageView->GetFormFillEnv()->GetInterForm();
pInterForm->OnCalculate(pWidget->GetFormField());
m_bNotifying = FALSE;
}
@@ -685,8 +683,7 @@ void CFFL_InteractiveFormFiller::OnFormat(CPDFSDK_Widget* pWidget,
uint32_t nFlag) {
if (!m_bNotifying) {
ASSERT(pWidget);
- CPDFSDK_InterForm* pInterForm =
- pPageView->GetFormFillEnv()->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pPageView->GetFormFillEnv()->GetInterForm();
FX_BOOL bFormatted = FALSE;
CFX_WideString sValue =
@@ -955,7 +952,7 @@ void CFFL_InteractiveFormFiller::OnBeforeKeyStroke(
bRC = FALSE;
}
- if (pFormFillEnv->GetSDKDocument()->GetFocusAnnot() != pData->pWidget) {
+ if (pFormFillEnv->GetFocusAnnot() != pData->pWidget) {
pFormFiller->CommitData(pData->pPageView, nFlag);
bExit = TRUE;
}
diff --git a/fpdfsdk/fpdfformfill.cpp b/fpdfsdk/fpdfformfill.cpp
index 8146e1df42..de43273f09 100644
--- a/fpdfsdk/fpdfformfill.cpp
+++ b/fpdfsdk/fpdfformfill.cpp
@@ -17,7 +17,6 @@
#include "core/fpdfdoc/cpdf_interform.h"
#include "core/fpdfdoc/cpdf_occontext.h"
#include "core/fxge/cfx_fxgedevice.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -46,8 +45,7 @@ CPDFSDK_FormFillEnvironment* HandleToCPDFSDKEnvironment(
CPDFSDK_InterForm* FormHandleToInterForm(FPDF_FORMHANDLE hHandle) {
CPDFSDK_FormFillEnvironment* pFormFillEnv =
HandleToCPDFSDKEnvironment(hHandle);
- return pFormFillEnv ? pFormFillEnv->GetSDKDocument()->GetInterForm()
- : nullptr;
+ return pFormFillEnv ? pFormFillEnv->GetInterForm() : nullptr;
}
CPDFSDK_PageView* FormHandleToPageView(FPDF_FORMHANDLE hHandle,
@@ -58,8 +56,7 @@ CPDFSDK_PageView* FormHandleToPageView(FPDF_FORMHANDLE hHandle,
CPDFSDK_FormFillEnvironment* pFormFillEnv =
HandleToCPDFSDKEnvironment(hHandle);
- return pFormFillEnv ? pFormFillEnv->GetSDKDocument()->GetPageView(pPage, true)
- : nullptr;
+ return pFormFillEnv ? pFormFillEnv->GetPageView(pPage, true) : nullptr;
}
#ifdef PDF_ENABLE_XFA
@@ -132,8 +129,7 @@ void FFLCommon(FPDF_FORMHANDLE hHandle,
#ifdef PDF_ENABLE_XFA
options.m_pOCContext = new CPDF_OCContext(pPDFDoc, CPDF_OCContext::View);
- if (CPDFSDK_PageView* pPageView =
- pFormFillEnv->GetSDKDocument()->GetPageView(pPage, true))
+ if (CPDFSDK_PageView* pPageView = pFormFillEnv->GetPageView(pPage, true))
pPageView->PageView_OnDraw(pDevice.get(), &matrix, &options, clip);
#else // PDF_ENABLE_XFA
options.m_pOCContext =
@@ -281,11 +277,11 @@ FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle) {
// Reset the focused annotations and remove the SDK document from the
// XFA document.
- pFormFillEnv->GetSDKDocument()->ClearAllFocusedAnnots();
+ pFormFillEnv->ClearAllFocusedAnnots();
// If the document was closed first, it's possible the XFA document
// is now a nullptr.
- if (pFormFillEnv->GetSDKDocument()->GetXFADocument())
- pFormFillEnv->GetSDKDocument()->GetXFADocument()->SetFormFillEnv(nullptr);
+ if (pFormFillEnv->GetXFADocument())
+ pFormFillEnv->GetXFADocument()->SetFormFillEnv(nullptr);
#endif // PDF_ENABLE_XFA
delete pFormFillEnv;
@@ -396,7 +392,7 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle) {
HandleToCPDFSDKEnvironment(hHandle);
if (!pFormFillEnv)
return FALSE;
- return pFormFillEnv->GetSDKDocument()->KillFocusAnnot(0);
+ return pFormFillEnv->KillFocusAnnot(0);
}
DLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle,
@@ -675,12 +671,11 @@ DLLEXPORT void STDCALL FORM_OnBeforeClosePage(FPDF_PAGE page,
if (!pPage)
return;
- CPDFSDK_PageView* pPageView =
- pFormFillEnv->GetSDKDocument()->GetPageView(pPage, false);
+ CPDFSDK_PageView* pPageView = pFormFillEnv->GetPageView(pPage, false);
if (pPageView) {
pPageView->SetValid(FALSE);
// RemovePageView() takes care of the delete for us.
- pFormFillEnv->GetSDKDocument()->RemovePageView(pPage);
+ pFormFillEnv->RemovePageView(pPage);
}
}
@@ -688,14 +683,14 @@ DLLEXPORT void STDCALL FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle) {
CPDFSDK_FormFillEnvironment* pFormFillEnv =
HandleToCPDFSDKEnvironment(hHandle);
if (pFormFillEnv && pFormFillEnv->IsJSInitiated())
- pFormFillEnv->GetSDKDocument()->ProcJavascriptFun();
+ pFormFillEnv->ProcJavascriptFun();
}
DLLEXPORT void STDCALL FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle) {
CPDFSDK_FormFillEnvironment* pFormFillEnv =
HandleToCPDFSDKEnvironment(hHandle);
if (pFormFillEnv && pFormFillEnv->IsJSInitiated())
- pFormFillEnv->GetSDKDocument()->ProcOpenAction();
+ pFormFillEnv->ProcOpenAction();
}
DLLEXPORT void STDCALL FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle,
@@ -705,7 +700,7 @@ DLLEXPORT void STDCALL FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle,
if (!pFormFillEnv)
return;
- CPDF_Document* pDoc = pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pDoc = pFormFillEnv->GetPDFDocument();
CPDF_Dictionary* pDic = pDoc->GetRoot();
if (!pDic)
return;
@@ -736,7 +731,7 @@ DLLEXPORT void STDCALL FORM_DoPageAAction(FPDF_PAGE page,
if (!pPDFPage)
return;
- if (!pFormFillEnv->GetSDKDocument()->GetPageView(pPage, false))
+ if (!pFormFillEnv->GetPageView(pPage, false))
return;
CPDFSDK_ActionHandler* pActionHandler = pFormFillEnv->GetActionHander();
diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
index 41fdc64c74..3ab81fe112 100644
--- a/fpdfsdk/fpdfview.cpp
+++ b/fpdfsdk/fpdfview.cpp
@@ -685,7 +685,7 @@ DLLEXPORT void STDCALL FPDF_ClosePage(FPDF_PAGE page) {
// This will delete the |pPageView| object. We must cleanup the PageView
// first because it will attempt to reset the View on the |pPage| during
// destruction.
- pPageView->GetFormFillEnv()->GetSDKDocument()->RemovePageView(pPage);
+ pPageView->GetFormFillEnv()->RemovePageView(pPage);
// If the page was owned then the pageview will have deleted the page.
if (owned)
return;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
index 3d40fb24e2..7e7ee50825 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
@@ -9,7 +9,6 @@
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fpdfapi/parser/cpdf_string.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -47,7 +46,7 @@ CPDFXFA_DocEnvironment::~CPDFXFA_DocEnvironment() {
void CPDFXFA_DocEnvironment::SetChangeMark(CXFA_FFDoc* hDoc) {
if (hDoc == m_pDocument->GetXFADoc() && m_pDocument->GetFormFillEnv())
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->SetChangeMark();
+ m_pDocument->GetFormFillEnv()->SetChangeMark();
}
void CPDFXFA_DocEnvironment::InvalidateRect(CXFA_FFPageView* pPageView,
@@ -279,7 +278,7 @@ void CPDFXFA_DocEnvironment::PageViewEvent(CXFA_FFPageView* pPageView,
if (!pPage)
continue;
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->RemovePageView(pPage);
+ m_pDocument->GetFormFillEnv()->RemovePageView(pPage);
pPage->SetXFAPageView(pXFADocView->GetPageView(iPageIter));
}
@@ -305,7 +304,6 @@ void CPDFXFA_DocEnvironment::WidgetPostAdd(CXFA_FFWidget* hWidget,
return;
m_pDocument->GetFormFillEnv()
- ->GetSDKDocument()
->GetPageView(pXFAPage, true)
->AddAnnot(hWidget);
}
@@ -324,8 +322,7 @@ void CPDFXFA_DocEnvironment::WidgetPreRemove(CXFA_FFWidget* hWidget,
return;
CPDFSDK_PageView* pSdkPageView =
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetPageView(pXFAPage,
- true);
+ m_pDocument->GetFormFillEnv()->GetPageView(pXFAPage, true);
if (CPDFSDK_Annot* pAnnot = pSdkPageView->GetAnnotByXFAWidget(hWidget))
pSdkPageView->DeleteAnnot(pAnnot);
}
@@ -353,8 +350,7 @@ void CPDFXFA_DocEnvironment::SetCurrentPage(CXFA_FFDoc* hDoc,
int32_t iCurPage) {
if (hDoc != m_pDocument->GetXFADoc() || !m_pDocument->GetFormFillEnv() ||
m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA || iCurPage < 0 ||
- iCurPage >=
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetPageCount()) {
+ iCurPage >= m_pDocument->GetFormFillEnv()->GetPageCount()) {
return;
}
@@ -367,11 +363,11 @@ void CPDFXFA_DocEnvironment::SetCurrentPage(CXFA_FFDoc* hDoc,
FX_BOOL CPDFXFA_DocEnvironment::IsCalculationsEnabled(CXFA_FFDoc* hDoc) {
if (hDoc != m_pDocument->GetXFADoc() || !m_pDocument->GetFormFillEnv())
return FALSE;
- if (m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetInterForm())
+ if (m_pDocument->GetFormFillEnv()->GetInterForm()) {
return m_pDocument->GetFormFillEnv()
- ->GetSDKDocument()
->GetInterForm()
->IsXfaCalculateEnabled();
+ }
return FALSE;
}
@@ -379,11 +375,11 @@ void CPDFXFA_DocEnvironment::SetCalculationsEnabled(CXFA_FFDoc* hDoc,
FX_BOOL bEnabled) {
if (hDoc != m_pDocument->GetXFADoc() || !m_pDocument->GetFormFillEnv())
return;
- if (m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetInterForm())
+ if (m_pDocument->GetFormFillEnv()->GetInterForm()) {
m_pDocument->GetFormFillEnv()
- ->GetSDKDocument()
->GetInterForm()
->XfaEnableCalculate(bEnabled);
+ }
}
void CPDFXFA_DocEnvironment::GetTitle(CXFA_FFDoc* hDoc,
@@ -416,8 +412,9 @@ void CPDFXFA_DocEnvironment::ExportData(CXFA_FFDoc* hDoc,
return;
if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA &&
- m_pDocument->GetDocType() != DOCTYPE_STATIC_XFA)
+ m_pDocument->GetDocType() != DOCTYPE_STATIC_XFA) {
return;
+ }
CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pDocument->GetFormFillEnv();
if (!pFormFillEnv)
@@ -427,8 +424,9 @@ void CPDFXFA_DocEnvironment::ExportData(CXFA_FFDoc* hDoc,
CFX_ByteString bs = wsFilePath.UTF16LE_Encode();
if (wsFilePath.IsEmpty()) {
if (!pFormFillEnv->GetFormFillInfo() ||
- !pFormFillEnv->GetFormFillInfo()->m_pJsPlatform)
+ !pFormFillEnv->GetFormFillInfo()->m_pJsPlatform) {
return;
+ }
CFX_WideString filepath = pFormFillEnv->JS_fieldBrowse();
bs = filepath.UTF16LE_Encode();
@@ -528,11 +526,11 @@ void CPDFXFA_DocEnvironment::GotoURL(CXFA_FFDoc* hDoc,
FX_BOOL CPDFXFA_DocEnvironment::IsValidationsEnabled(CXFA_FFDoc* hDoc) {
if (hDoc != m_pDocument->GetXFADoc() || !m_pDocument->GetFormFillEnv())
return FALSE;
- if (m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetInterForm())
+ if (m_pDocument->GetFormFillEnv()->GetInterForm()) {
return m_pDocument->GetFormFillEnv()
- ->GetSDKDocument()
->GetInterForm()
->IsXfaValidationsEnabled();
+ }
return TRUE;
}
@@ -540,11 +538,11 @@ void CPDFXFA_DocEnvironment::SetValidationsEnabled(CXFA_FFDoc* hDoc,
FX_BOOL bEnabled) {
if (hDoc != m_pDocument->GetXFADoc() || !m_pDocument->GetFormFillEnv())
return;
- if (m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetInterForm())
+ if (m_pDocument->GetFormFillEnv()->GetInterForm()) {
m_pDocument->GetFormFillEnv()
- ->GetSDKDocument()
->GetInterForm()
->XfaSetValidationsEnabled(bEnabled);
+ }
}
void CPDFXFA_DocEnvironment::SetFocusWidget(CXFA_FFDoc* hDoc,
@@ -554,21 +552,19 @@ void CPDFXFA_DocEnvironment::SetFocusWidget(CXFA_FFDoc* hDoc,
if (!hWidget) {
CPDFSDK_Annot::ObservedPtr pNull;
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->SetFocusAnnot(&pNull);
+ m_pDocument->GetFormFillEnv()->SetFocusAnnot(&pNull);
return;
}
- int pageViewCount =
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetPageViewCount();
+ int pageViewCount = m_pDocument->GetFormFillEnv()->GetPageViewCount();
for (int i = 0; i < pageViewCount; i++) {
- CPDFSDK_PageView* pPageView =
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetPageView(i);
+ CPDFSDK_PageView* pPageView = m_pDocument->GetFormFillEnv()->GetPageView(i);
if (!pPageView)
continue;
CPDFSDK_Annot::ObservedPtr pAnnot(pPageView->GetAnnotByXFAWidget(hWidget));
if (pAnnot) {
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->SetFocusAnnot(&pAnnot);
+ m_pDocument->GetFormFillEnv()->SetFocusAnnot(&pAnnot);
break;
}
}
@@ -600,8 +596,7 @@ FX_ARGB CPDFXFA_DocEnvironment::GetHighlightColor(CXFA_FFDoc* hDoc) {
if (hDoc != m_pDocument->GetXFADoc() || !m_pDocument->GetFormFillEnv())
return 0;
- CPDFSDK_InterForm* pInterForm =
- m_pDocument->GetFormFillEnv()->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pDocument->GetFormFillEnv()->GetInterForm();
if (!pInterForm)
return 0;
@@ -619,8 +614,9 @@ FX_BOOL CPDFXFA_DocEnvironment::NotifySubmit(FX_BOOL bPrevOrPost) {
FX_BOOL CPDFXFA_DocEnvironment::OnBeforeNotifySubmit() {
if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA &&
- m_pDocument->GetDocType() != DOCTYPE_STATIC_XFA)
+ m_pDocument->GetDocType() != DOCTYPE_STATIC_XFA) {
return TRUE;
+ }
if (!m_pDocument->GetXFADocView())
return TRUE;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
index 472779a6d4..c768b591ba 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
@@ -7,7 +7,6 @@
#include "fpdfsdk/fpdfxfa/cpdfxfa_document.h"
#include "core/fpdfapi/parser/cpdf_document.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -44,10 +43,10 @@ CPDFXFA_Document::~CPDFXFA_Document() {
m_nLoadStatus = FXFA_LOADSTATUS_CLOSING;
if (m_pFormFillEnv) {
- m_pFormFillEnv->GetSDKDocument()->ClearAllFocusedAnnots();
+ m_pFormFillEnv->ClearAllFocusedAnnots();
// Once we're deleted the SDKDocument will point at a bad underlying
// doc so we need to reset it ...
- m_pFormFillEnv->GetSDKDocument()->ResetXFADocument();
+ m_pFormFillEnv->ResetXFADocument();
m_pFormFillEnv = nullptr;
}
@@ -202,5 +201,5 @@ void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) {
void CPDFXFA_Document::ClearChangeMark() {
if (m_pFormFillEnv)
- m_pFormFillEnv->GetSDKDocument()->ClearChangeMark();
+ m_pFormFillEnv->ClearChangeMark();
}
diff --git a/fpdfsdk/fsdk_actionhandler.cpp b/fpdfsdk/fsdk_actionhandler.cpp
index a7a7940b89..c324406359 100644
--- a/fpdfsdk/fsdk_actionhandler.cpp
+++ b/fpdfsdk/fsdk_actionhandler.cpp
@@ -11,7 +11,6 @@
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfdoc/cpdf_formfield.h"
#include "core/fpdfdoc/cpdf_interform.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/fsdk_define.h"
@@ -223,8 +222,7 @@ FX_BOOL CPDFSDK_ActionHandler::IsValidField(
CPDF_Dictionary* pFieldDict) {
ASSERT(pFieldDict);
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm();
return !!pPDFInterForm->GetFieldByDict(pFieldDict);
}
@@ -418,8 +416,7 @@ void CPDFSDK_ActionHandler::DoAction_GoTo(
const CPDF_Action& action) {
ASSERT(action.GetDict());
- CPDF_Document* pPDFDocument =
- pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pPDFDocument = pFormFillEnv->GetPDFDocument();
ASSERT(pPDFDocument);
CPDF_Dest MyDest = action.GetDest(pPDFDocument);
@@ -454,8 +451,7 @@ void CPDFSDK_ActionHandler::DoAction_URI(
const CPDF_Action& action) {
ASSERT(action.GetDict());
- CFX_ByteString sURI =
- action.GetURI(pFormFillEnv->GetSDKDocument()->GetPDFDocument());
+ CFX_ByteString sURI = action.GetURI(pFormFillEnv->GetPDFDocument());
pFormFillEnv->DoURIAction(sURI.c_str());
}
@@ -597,10 +593,9 @@ void CPDFSDK_ActionHandler::RunDocumentPageJavaScript(
FX_BOOL CPDFSDK_ActionHandler::DoAction_Hide(
const CPDF_Action& action,
CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
if (pInterForm->DoAction_Hide(action)) {
- pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ pFormFillEnv->SetChangeMark();
return TRUE;
}
@@ -610,26 +605,23 @@ FX_BOOL CPDFSDK_ActionHandler::DoAction_Hide(
FX_BOOL CPDFSDK_ActionHandler::DoAction_SubmitForm(
const CPDF_Action& action,
CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
return pInterForm->DoAction_SubmitForm(action);
}
FX_BOOL CPDFSDK_ActionHandler::DoAction_ResetForm(
const CPDF_Action& action,
CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
return pInterForm->DoAction_ResetForm(action);
}
FX_BOOL CPDFSDK_ActionHandler::DoAction_ImportData(
const CPDF_Action& action,
CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
if (pInterForm->DoAction_ImportData(action)) {
- pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ pFormFillEnv->SetChangeMark();
return TRUE;
}
diff --git a/fpdfsdk/fsdk_baseform_embeddertest.cpp b/fpdfsdk/fsdk_baseform_embeddertest.cpp
index a11453b1ec..13efe86789 100644
--- a/fpdfsdk/fsdk_baseform_embeddertest.cpp
+++ b/fpdfsdk/fsdk_baseform_embeddertest.cpp
@@ -4,7 +4,6 @@
#include "fpdfsdk/cba_annotiterator.h"
#include "fpdfsdk/cpdfsdk_annot.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/fsdk_define.h"
#include "testing/embedder_test.h"
@@ -45,7 +44,7 @@ TEST_F(FSDKBaseFormEmbeddertest, CBA_AnnotIterator) {
{
// Page 0 specifies "row order".
- CBA_AnnotIterator iter(pFormFillEnv->GetSDKDocument()->GetPageView(0),
+ CBA_AnnotIterator iter(pFormFillEnv->GetPageView(0),
CPDF_Annot::Subtype::WIDGET);
CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot();
CheckRect(pAnnot->GetRect(), RightTop);
@@ -71,7 +70,7 @@ TEST_F(FSDKBaseFormEmbeddertest, CBA_AnnotIterator) {
}
{
// Page 1 specifies "column order"
- CBA_AnnotIterator iter(pFormFillEnv->GetSDKDocument()->GetPageView(1),
+ CBA_AnnotIterator iter(pFormFillEnv->GetPageView(1),
CPDF_Annot::Subtype::WIDGET);
CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot();
CheckRect(pAnnot->GetRect(), RightTop);
@@ -97,7 +96,7 @@ TEST_F(FSDKBaseFormEmbeddertest, CBA_AnnotIterator) {
}
{
// Page 2 specifies "struct order"
- CBA_AnnotIterator iter(pFormFillEnv->GetSDKDocument()->GetPageView(2),
+ CBA_AnnotIterator iter(pFormFillEnv->GetPageView(2),
CPDF_Annot::Subtype::WIDGET);
CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot();
CheckRect(pAnnot->GetRect(), LeftBottom);
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index ed87c2dbba..6b795a02ec 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -17,7 +17,6 @@
#include "core/fpdfdoc/cpdf_interform.h"
#include "core/fpdfdoc/cpdf_nametree.h"
#include "fpdfsdk/cpdfsdk_annotiterator.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -173,8 +172,7 @@ FX_BOOL Document::numFields(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
vp << static_cast<int>(pPDFForm->CountFields(CFX_WideString()));
return TRUE;
@@ -188,15 +186,15 @@ FX_BOOL Document::dirty(IJS_Context* cc,
return FALSE;
}
if (vp.IsGetting()) {
- vp << !!m_pFormFillEnv->GetSDKDocument()->GetChangeMark();
+ vp << !!m_pFormFillEnv->GetChangeMark();
} else {
bool bChanged = false;
vp >> bChanged;
if (bChanged)
- m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ m_pFormFillEnv->SetChangeMark();
else
- m_pFormFillEnv->GetSDKDocument()->ClearChangeMark();
+ m_pFormFillEnv->ClearChangeMark();
}
return TRUE;
}
@@ -218,12 +216,11 @@ FX_BOOL Document::pageNum(IJS_Context* cc,
return FALSE;
}
if (vp.IsGetting()) {
- if (CPDFSDK_PageView* pPageView =
- m_pFormFillEnv->GetSDKDocument()->GetCurrentView()) {
+ if (CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetCurrentView()) {
vp << pPageView->GetPageIndex();
}
} else {
- int iPageCount = m_pFormFillEnv->GetSDKDocument()->GetPageCount();
+ int iPageCount = m_pFormFillEnv->GetPageCount();
int iPageNum = 0;
vp >> iPageNum;
@@ -299,8 +296,7 @@ FX_BOOL Document::getField(IJS_Context* cc,
CJS_Context* pContext = static_cast<CJS_Context*>(cc);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
CFX_WideString wideName = params[0].ToCFXWideString(pRuntime);
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
if (pPDFForm->CountFields(wideName) <= 0) {
vRet.SetNull(pRuntime);
@@ -338,8 +334,7 @@ FX_BOOL Document::getNthFieldName(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSVALUEERROR);
return FALSE;
}
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
CPDF_FormField* pField = pPDFForm->GetField(nIndex, CFX_WideString());
if (!pField)
@@ -384,8 +379,7 @@ FX_BOOL Document::mailForm(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
- FPDFPERM_EXTRACT_ACCESS)) {
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
@@ -402,8 +396,7 @@ FX_BOOL Document::mailForm(IJS_Context* cc,
iLength > 4 ? params[4].ToCFXWideString(pRuntime) : L"";
CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString(pRuntime) : L"";
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CFX_ByteTextBuf textBuf;
if (!pInterForm->ExportFormToFDFTextBuf(textBuf))
return FALSE;
@@ -502,17 +495,15 @@ FX_BOOL Document::removeField(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!(m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(
- FPDFPERM_ANNOT_FORM))) {
+ if (!(m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_ANNOT_FORM))) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
CJS_Context* pContext = static_cast<CJS_Context*>(cc);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
CFX_WideString sFieldName = params[0].ToCFXWideString(pRuntime);
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
std::vector<CPDFSDK_Widget*> widgets;
pInterForm->GetWidgets(sFieldName, &widgets);
if (widgets.empty())
@@ -532,8 +523,7 @@ FX_BOOL Document::removeField(IJS_Context* cc,
// If there is currently no pageview associated with the page being used
// do not create one. We may be in the process of tearing down the document
// and creating a new pageview at this point will cause bad things.
- CPDFSDK_PageView* pPageView =
- m_pFormFillEnv->GetSDKDocument()->GetPageView(pPage, false);
+ CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetPageView(pPage, false);
if (pPageView) {
#if PDF_ENABLE_XFA
pPageView->DeleteAnnot(pWidget);
@@ -541,7 +531,7 @@ FX_BOOL Document::removeField(IJS_Context* cc,
pPageView->UpdateRects(aRefresh);
}
}
- m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ m_pFormFillEnv->SetChangeMark();
return TRUE;
}
@@ -558,21 +548,20 @@ FX_BOOL Document::resetForm(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!(m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_ANNOT_FORM) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_FILL_FORM))) {
+ if (!(m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_ANNOT_FORM) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_FILL_FORM))) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
CJS_Array aName;
if (params.empty()) {
pPDFForm->ResetForm(TRUE);
- m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ m_pFormFillEnv->SetChangeMark();
return TRUE;
}
@@ -599,7 +588,7 @@ FX_BOOL Document::resetForm(IJS_Context* cc,
if (!aFields.empty()) {
pPDFForm->ResetForm(aFields, TRUE, TRUE);
- m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ m_pFormFillEnv->SetChangeMark();
}
return TRUE;
@@ -664,8 +653,7 @@ FX_BOOL Document::submitForm(IJS_Context* cc,
aFields.Attach(CJS_Value(pRuntime, pValue).ToV8Array(pRuntime));
}
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm();
if (aFields.GetLength(pRuntime) == 0 && bEmpty) {
if (pPDFInterForm->CheckRequiredFields(nullptr, true)) {
@@ -788,8 +776,7 @@ FX_BOOL Document::info(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- CPDF_Dictionary* pDictionary =
- m_pFormFillEnv->GetSDKDocument()->GetPDFDocument()->GetInfo();
+ CPDF_Dictionary* pDictionary = m_pFormFillEnv->GetPDFDocument()->GetInfo();
if (!pDictionary)
return FALSE;
@@ -843,22 +830,21 @@ FX_BOOL Document::getPropertyInternal(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- CPDF_Dictionary* pDictionary =
- m_pFormFillEnv->GetSDKDocument()->GetPDFDocument()->GetInfo();
+ CPDF_Dictionary* pDictionary = m_pFormFillEnv->GetPDFDocument()->GetInfo();
if (!pDictionary)
return FALSE;
if (vp.IsGetting()) {
vp << pDictionary->GetUnicodeTextFor(propName);
} else {
- if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY)) {
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY)) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
CFX_WideString csProperty;
vp >> csProperty;
pDictionary->SetStringFor(propName, PDF_EncodeText(csProperty));
- m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ m_pFormFillEnv->SetChangeMark();
}
return TRUE;
}
@@ -885,7 +871,7 @@ FX_BOOL Document::delay(IJS_Context* cc,
if (vp.IsGetting()) {
vp << m_bDelay;
} else {
- if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY)) {
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY)) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
@@ -947,7 +933,7 @@ FX_BOOL Document::numPages(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- vp << m_pFormFillEnv->GetSDKDocument()->GetPageCount();
+ vp << m_pFormFillEnv->GetPageCount();
return TRUE;
}
@@ -995,7 +981,7 @@ FX_BOOL Document::URL(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- vp << m_pFormFillEnv->GetSDKDocument()->GetPath();
+ vp << m_pFormFillEnv->JS_docGetFilePath();
return TRUE;
}
@@ -1017,8 +1003,7 @@ FX_BOOL Document::calculate(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
if (vp.IsGetting()) {
vp << !!pInterForm->IsCalculateEnabled();
} else {
@@ -1040,7 +1025,7 @@ FX_BOOL Document::documentFileName(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- CFX_WideString wsFilePath = m_pFormFillEnv->GetSDKDocument()->GetPath();
+ CFX_WideString wsFilePath = m_pFormFillEnv->JS_docGetFilePath();
int32_t i = wsFilePath.GetLength() - 1;
for (; i >= 0; i--) {
if (wsFilePath.GetAt(i) == L'\\' || wsFilePath.GetAt(i) == L'/')
@@ -1065,7 +1050,7 @@ FX_BOOL Document::path(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- vp << app::SysPathToPDFPath(m_pFormFillEnv->GetSDKDocument()->GetPath());
+ vp << app::SysPathToPDFPath(m_pFormFillEnv->JS_docGetFilePath());
return TRUE;
}
@@ -1118,8 +1103,7 @@ FX_BOOL Document::getAnnot(IJS_Context* cc,
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
int nPageNo = params[0].ToInt(pRuntime);
CFX_WideString swAnnotName = params[1].ToCFXWideString(pRuntime);
- CPDFSDK_PageView* pPageView =
- m_pFormFillEnv->GetSDKDocument()->GetPageView(nPageNo);
+ CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetPageView(nPageNo);
if (!pPageView)
return FALSE;
@@ -1170,12 +1154,11 @@ FX_BOOL Document::getAnnots(IJS_Context* cc,
// TODO(tonikitoo): Add support supported parameters as per
// the PDF spec.
- int nPageNo = m_pFormFillEnv->GetSDKDocument()->GetPageCount();
+ int nPageNo = m_pFormFillEnv->GetPageCount();
CJS_Array annots;
for (int i = 0; i < nPageNo; ++i) {
- CPDFSDK_PageView* pPageView =
- m_pFormFillEnv->GetSDKDocument()->GetPageView(i);
+ CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetPageView(i);
if (!pPageView)
return FALSE;
@@ -1392,13 +1375,13 @@ FX_BOOL Document::calculateNow(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!(m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_ANNOT_FORM) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_FILL_FORM))) {
+ if (!(m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_ANNOT_FORM) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_FILL_FORM))) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
- m_pFormFillEnv->GetSDKDocument()->GetInterForm()->OnCalculate();
+ m_pFormFillEnv->GetInterForm()->OnCalculate();
return TRUE;
}
@@ -1416,8 +1399,7 @@ FX_BOOL Document::getPageNthWord(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
- FPDFPERM_EXTRACT_ACCESS)) {
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
@@ -1429,7 +1411,7 @@ FX_BOOL Document::getPageNthWord(IJS_Context* cc,
int nWordNo = params.size() > 1 ? params[1].ToInt(pRuntime) : 0;
bool bStrip = params.size() > 2 ? params[2].ToBool(pRuntime) : true;
- CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
if (!pDocument)
return FALSE;
@@ -1476,8 +1458,7 @@ FX_BOOL Document::getPageNthWordQuads(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
- FPDFPERM_EXTRACT_ACCESS)) {
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
@@ -1492,14 +1473,13 @@ FX_BOOL Document::getPageNumWords(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return FALSE;
}
- if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
- FPDFPERM_EXTRACT_ACCESS)) {
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return FALSE;
}
CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
int nPageNo = params.size() > 0 ? params[0].ToInt(pRuntime) : 0;
- CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) {
sError = JSGetStringFromID(IDS_STRING_JSVALUEERROR);
return FALSE;
@@ -1686,7 +1666,7 @@ FX_BOOL Document::gotoNamedDest(IJS_Context* cc,
CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
CFX_WideString wideName = params[0].ToCFXWideString(pRuntime);
CFX_ByteString utf8Name = wideName.UTF8Encode();
- CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
+ CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
if (!pDocument)
return FALSE;
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp
index 652f1e640d..a2118a77c0 100644
--- a/fpdfsdk/javascript/Field.cpp
+++ b/fpdfsdk/javascript/Field.cpp
@@ -15,7 +15,6 @@
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfdoc/cpdf_interform.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
@@ -213,13 +212,11 @@ FX_BOOL Field::AttachField(Document* pDocument,
const CFX_WideString& csFieldName) {
m_pJSDoc = pDocument;
m_pFormFillEnv.Reset(pDocument->GetFormFillEnv());
- m_bCanSet =
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_FILL_FORM) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_ANNOT_FORM) ||
- m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY);
+ m_bCanSet = m_pFormFillEnv->GetPermissions(FPDFPERM_FILL_FORM) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_ANNOT_FORM) ||
+ m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY);
- CPDFSDK_InterForm* pRDInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pRDInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm();
CFX_WideString swFieldNameTemp = csFieldName;
swFieldNameTemp.Replace(L"..", L".");
@@ -246,8 +243,7 @@ std::vector<CPDF_FormField*> Field::GetFormFields(
CPDFSDK_FormFillEnvironment* pFormFillEnv,
const CFX_WideString& csFieldName) {
std::vector<CPDF_FormField*> fields;
- CPDFSDK_InterForm* pReaderInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pReaderInterForm = pFormFillEnv->GetInterForm();
CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm();
for (int i = 0, sz = pInterForm->CountFields(csFieldName); i < sz; ++i) {
if (CPDF_FormField* pFormField = pInterForm->GetField(i, csFieldName))
@@ -266,8 +262,7 @@ void Field::UpdateFormField(CPDFSDK_FormFillEnvironment* pFormFillEnv,
FX_BOOL bChangeMark,
FX_BOOL bResetAP,
FX_BOOL bRefresh) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
if (bResetAP) {
std::vector<CPDFSDK_Widget*> widgets;
@@ -301,17 +296,16 @@ void Field::UpdateFormField(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// TODO(dsinclair): Determine if all widgets share the same
// CPDFSDK_InterForm. If that's the case, we can move the code to
- // |GetSDKDocument| out of the loop.
+ // |GetFormFillEnv| out of the loop.
for (CPDFSDK_Widget* pWidget : widgets) {
pWidget->GetInterForm()
->GetFormFillEnv()
- ->GetSDKDocument()
->UpdateAllViews(nullptr, pWidget);
}
}
if (bChangeMark)
- pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ pFormFillEnv->SetChangeMark();
}
void Field::UpdateFormControl(CPDFSDK_FormFillEnvironment* pFormFillEnv,
@@ -321,7 +315,7 @@ void Field::UpdateFormControl(CPDFSDK_FormFillEnvironment* pFormFillEnv,
FX_BOOL bRefresh) {
ASSERT(pFormControl);
- CPDFSDK_InterForm* pForm = pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pForm = pFormFillEnv->GetInterForm();
CPDFSDK_Widget* pWidget = pForm->GetWidget(pFormControl, false);
if (pWidget) {
@@ -339,20 +333,19 @@ void Field::UpdateFormControl(CPDFSDK_FormFillEnvironment* pFormFillEnv,
if (bRefresh) {
CPDFSDK_InterForm* pInterForm = pWidget->GetInterForm();
- pInterForm->GetFormFillEnv()->GetSDKDocument()->UpdateAllViews(nullptr,
- pWidget);
+ pInterForm->GetFormFillEnv()->UpdateAllViews(nullptr, pWidget);
}
}
if (bChangeMark)
- pFormFillEnv->GetSDKDocument()->SetChangeMark();
+ pFormFillEnv->SetChangeMark();
}
CPDFSDK_Widget* Field::GetWidget(CPDFSDK_FormFillEnvironment* pFormFillEnv,
CPDF_FormControl* pFormControl,
bool createIfNeeded) {
- CPDFSDK_InterForm* pInterForm = static_cast<CPDFSDK_InterForm*>(
- pFormFillEnv->GetSDKDocument()->GetInterForm());
+ CPDFSDK_InterForm* pInterForm =
+ static_cast<CPDFSDK_InterForm*>(pFormFillEnv->GetInterForm());
return pInterForm ? pInterForm->GetWidget(pFormControl, createIfNeeded)
: nullptr;
}
@@ -865,8 +858,7 @@ FX_BOOL Field::calcOrderIndex(IJS_Context* cc,
return FALSE;
}
- CPDFSDK_InterForm* pRDInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pRDInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pInterForm = pRDInterForm->GetInterForm();
vp << (int32_t)pInterForm->FindFieldInCalculationOrder(pFormField);
}
@@ -1270,8 +1262,7 @@ FX_BOOL Field::display(IJS_Context* cc,
CPDF_FormField* pFormField = FieldArray[0];
ASSERT(pFormField);
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDFSDK_Widget* pWidget =
pInterForm->GetWidget(GetSmartFieldControl(pFormField), true);
if (!pWidget)
@@ -1301,8 +1292,7 @@ void Field::SetDisplay(CPDFSDK_FormFillEnvironment* pFormFillEnv,
const CFX_WideString& swFieldName,
int nControlIndex,
int number) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
std::vector<CPDF_FormField*> FieldArray =
GetFormFields(pFormFillEnv, swFieldName);
for (CPDF_FormField* pFormField : FieldArray) {
@@ -1536,8 +1526,7 @@ FX_BOOL Field::hidden(IJS_Context* cc,
CPDF_FormField* pFormField = FieldArray[0];
ASSERT(pFormField);
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDFSDK_Widget* pWidget =
pInterForm->GetWidget(GetSmartFieldControl(pFormField), false);
if (!pWidget)
@@ -1650,8 +1639,7 @@ FX_BOOL Field::lineWidth(IJS_Context* cc,
if (!pFormControl)
return FALSE;
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
if (!pFormField->CountControls())
return FALSE;
@@ -1670,8 +1658,7 @@ void Field::SetLineWidth(CPDFSDK_FormFillEnvironment* pFormFillEnv,
const CFX_WideString& swFieldName,
int nControlIndex,
int number) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
std::vector<CPDF_FormField*> FieldArray =
GetFormFields(pFormFillEnv, swFieldName);
for (CPDF_FormField* pFormField : FieldArray) {
@@ -1844,8 +1831,7 @@ FX_BOOL Field::page(IJS_Context* cc,
return FALSE;
std::vector<CPDFSDK_Widget*> widgets;
- m_pFormFillEnv->GetSDKDocument()->GetInterForm()->GetWidgets(pFormField,
- &widgets);
+ m_pFormFillEnv->GetInterForm()->GetWidgets(pFormField, &widgets);
if (widgets.empty()) {
vp << (int32_t)-1;
@@ -1913,8 +1899,7 @@ void Field::SetPassword(CPDFSDK_FormFillEnvironment* pFormFillEnv,
FX_BOOL Field::print(IJS_Context* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
if (FieldArray.empty())
return FALSE;
@@ -2080,8 +2065,7 @@ FX_BOOL Field::rect(IJS_Context* cc,
return FALSE;
CPDF_FormField* pFormField = FieldArray[0];
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDFSDK_Widget* pWidget =
pInterForm->GetWidget(GetSmartFieldControl(pFormField), true);
if (!pWidget)
@@ -2107,8 +2091,7 @@ void Field::SetRect(CPDFSDK_FormFillEnvironment* pFormFillEnv,
const CFX_WideString& swFieldName,
int nControlIndex,
const CFX_FloatRect& rect) {
- CPDFSDK_InterForm* pInterForm =
- pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
std::vector<CPDF_FormField*> FieldArray =
GetFormFields(pFormFillEnv, swFieldName);
for (CPDF_FormField* pFormField : FieldArray) {
@@ -3216,8 +3199,7 @@ FX_BOOL Field::setFocus(IJS_Context* cc,
if (nCount < 1)
return FALSE;
- CPDFSDK_InterForm* pInterForm =
- m_pFormFillEnv->GetSDKDocument()->GetInterForm();
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDFSDK_Widget* pWidget = nullptr;
if (nCount == 1) {
pWidget = pInterForm->GetWidget(pFormField->GetControl(0), false);
@@ -3228,7 +3210,7 @@ FX_BOOL Field::setFocus(IJS_Context* cc,
if (!pPage)
return FALSE;
if (CPDFSDK_PageView* pCurPageView =
- m_pFormFillEnv->GetSDKDocument()->GetPageView(pPage, true)) {
+ m_pFormFillEnv->GetPageView(pPage, true)) {
for (int32_t i = 0; i < nCount; i++) {
if (CPDFSDK_Widget* pTempWidget =
pInterForm->GetWidget(pFormField->GetControl(i), false)) {
@@ -3243,7 +3225,7 @@ FX_BOOL Field::setFocus(IJS_Context* cc,
if (pWidget) {
CPDFSDK_Annot::ObservedPtr pObserved(pWidget);
- m_pFormFillEnv->GetSDKDocument()->SetFocusAnnot(&pObserved);
+ m_pFormFillEnv->SetFocusAnnot(&pObserved);
}
return TRUE;
diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp
index d4f17a8b2e..344af5aa02 100644
--- a/fpdfsdk/javascript/PublicMethods.cpp
+++ b/fpdfsdk/javascript/PublicMethods.cpp
@@ -11,7 +11,6 @@
#include "core/fpdfdoc/cpdf_interform.h"
#include "core/fxcrt/fx_ext.h"
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/javascript/Field.h"
@@ -1660,7 +1659,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(
CJS_Context* pContext = static_cast<CJS_Context*>(cc);
CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
CPDFSDK_InterForm* pReaderInterForm =
- pContext->GetFormFillEnv()->GetSDKDocument()->GetInterForm();
+ pContext->GetFormFillEnv()->GetInterForm();
CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm();
CFX_WideString sFunction = params[0].ToCFXWideString(pRuntime);
diff --git a/fpdfsdk/javascript/app.cpp b/fpdfsdk/javascript/app.cpp
index b41b8727ab..325a84b1f8 100644
--- a/fpdfsdk/javascript/app.cpp
+++ b/fpdfsdk/javascript/app.cpp
@@ -9,7 +9,6 @@
#include <memory>
#include <vector>
-#include "fpdfsdk/cpdfsdk_document.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/javascript/Document.h"
@@ -245,7 +244,6 @@ FX_BOOL app::calculate(IJS_Context* cc,
CJS_Context* pContext = (CJS_Context*)cc;
pContext->GetFormFillEnv()
- ->GetSDKDocument()
->GetInterForm()
->EnableCalculate((FX_BOOL)m_bCalculate);
} else {
@@ -294,8 +292,7 @@ FX_BOOL app::viewerVersion(IJS_Context* cc,
return FALSE;
#ifdef PDF_ENABLE_XFA
CJS_Context* pContext = (CJS_Context*)cc;
- CPDFXFA_Document* pDoc =
- pContext->GetFormFillEnv()->GetSDKDocument()->GetXFADocument();
+ CPDFXFA_Document* pDoc = pContext->GetFormFillEnv()->GetXFADocument();
if (pDoc->GetDocType() == 1 || pDoc->GetDocType() == 2) {
vp << JS_NUM_VIEWERVERSION_XFA;
return TRUE;
@@ -423,7 +420,7 @@ FX_BOOL app::alert(IJS_Context* cc,
swTitle = JSGetStringFromID(IDS_STRING_JSALERT);
pRuntime->BeginBlock();
- pFormFillEnv->GetSDKDocument()->KillFocusAnnot(0);
+ pFormFillEnv->KillFocusAnnot(0);
vRet = CJS_Value(pRuntime, pFormFillEnv->JS_appAlert(
swMsg.c_str(), swTitle.c_str(), iType, iIcon));