summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-06-01 20:43:53 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-01 20:43:53 +0000
commit0b4984ca4ed82023cd945512df5744eac394b53d (patch)
treebb273a466c953703961daccc5cb8b86ef1817ed8
parentee0fffe57e04041ba092a860418e5d4cfcbfd999 (diff)
downloadpdfium-0b4984ca4ed82023cd945512df5744eac394b53d.tar.xz
Make FPDF_LoadPage return either page type at runtime.
Rely on strict use of IPDF_Page::As*() methods to prevent bad downcasts. Change-Id: I92a146ffbe5d145ca4f4a5b8318f3599fd1d8431 Reviewed-on: https://pdfium-review.googlesource.com/33431 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
-rw-r--r--fpdfsdk/fpdf_view.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp
index f0ceb1f378..91072d2f51 100644
--- a/fpdfsdk/fpdf_view.cpp
+++ b/fpdfsdk/fpdf_view.cpp
@@ -352,17 +352,14 @@ FPDF_EXPORT FPDF_PAGE FPDF_CALLCONV FPDF_LoadPage(FPDF_DOCUMENT document,
auto* pContext = static_cast<CPDFXFA_Context*>(pDoc->GetExtension());
if (pContext)
return FPDFPageFromIPDFPage(pContext->GetXFAPage(page_index).Leak());
+#endif // PDF_ENABLE_XFA
- // Eventually, fallthrough into non-xfa case once page type made consistent.
- return nullptr;
-#else // PDF_ENABLE_XFA
CPDF_Dictionary* pDict = pDoc->GetPageDictionary(page_index);
if (!pDict)
return nullptr;
RetainPtr<CPDF_Page> pPage = pDoc->GetOrCreatePDFPage(pDict);
return FPDFPageFromIPDFPage(pPage.Leak());
-#endif // PDF_ENABLE_XFA
}
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageWidth(FPDF_PAGE page) {