summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-06-04 17:47:28 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-04 17:47:28 +0000
commit2491990f50f8ea48a509eb0ccc0193b4c1a3f776 (patch)
treea8b1f335d099f866493273731c91dcb4d2063d71
parent28d30b4870fb5327937fa0541d0059fc439736aa (diff)
downloadpdfium-2491990f50f8ea48a509eb0ccc0193b4c1a3f776.tar.xz
Revert "Make pagview decisions at runtime for non-xfa pages."
This reverts commit d8126c2e72a60403c73f4187d4041364d45a8d61. Reason for revert: Blocking previous revert. Change-Id: I144841ad257401ab626b981ef7691d3b8003a49a Reviewed-on: https://pdfium-review.googlesource.com/33711 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
-rw-r--r--fpdfsdk/cpdfsdk_pageview.h5
-rw-r--r--fpdfsdk/fpdf_view.cpp5
2 files changed, 7 insertions, 3 deletions
diff --git a/fpdfsdk/cpdfsdk_pageview.h b/fpdfsdk/cpdfsdk_pageview.h
index 1df29b9ec4..cf2d9bf442 100644
--- a/fpdfsdk/cpdfsdk_pageview.h
+++ b/fpdfsdk/cpdfsdk_pageview.h
@@ -92,7 +92,10 @@ class CPDFSDK_PageView final : public CPDF_Page::View {
void SetBeingDestroyed() { m_bBeingDestroyed = true; }
bool IsBeingDestroyed() const { return m_bBeingDestroyed; }
+
+#ifndef PDF_ENABLE_XFA
void TakePageOwnership() { m_pOwnsPage.Reset(ToPDFPage(m_page)); }
+#endif // PDF_ENABLE_XFA
private:
CPDFSDK_Annot* GetFXAnnotAtPoint(const CFX_PointF& point);
@@ -113,7 +116,9 @@ class CPDFSDK_PageView final : public CPDF_Page::View {
std::vector<CPDFSDK_Annot*> m_SDKAnnotArray;
UnownedPtr<CPDFSDK_FormFillEnvironment> const m_pFormFillEnv;
CPDFSDK_Annot::ObservedPtr m_pCaptureWidget;
+#ifndef PDF_ENABLE_XFA
RetainPtr<CPDF_Page> m_pOwnsPage;
+#endif // PDF_ENABLE_XFA
bool m_bOnWidget = false;
bool m_bValid = false;
bool m_bLocked = false;
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp
index f0ceb1f378..d5c2a7e3dd 100644
--- a/fpdfsdk/fpdf_view.cpp
+++ b/fpdfsdk/fpdf_view.cpp
@@ -734,9 +734,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page) {
RetainPtr<IPDF_Page> pPage;
pPage.Unleak(IPDFPageFromFPDFPage(page));
- if (pPage->AsXFAPage())
- return;
-
+#ifndef PDF_ENABLE_XFA
CPDFSDK_PageView* pPageView =
static_cast<CPDFSDK_PageView*>(pPage->AsPDFPage()->GetView());
if (!pPageView || pPageView->IsBeingDestroyed())
@@ -751,6 +749,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page) {
// first because it will attempt to reset the View on the |pPage| during
// destruction.
pPageView->GetFormFillEnv()->RemovePageView(pPage.Get());
+#endif // PDF_ENABLE_XFA
}
FPDF_EXPORT void FPDF_CALLCONV FPDF_CloseDocument(FPDF_DOCUMENT document) {