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>
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp
index f0ceb1f..91072d2 100644
--- a/fpdfsdk/fpdf_view.cpp
+++ b/fpdfsdk/fpdf_view.cpp
@@ -352,17 +352,14 @@
   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) {