Assert CPDFSDK_Annot::GetPageView() never returns nullptr.

Then remove some dead code as a result.

Change-Id: I544c711b569a0f4a6ec59e69101e147c9cb3fac2
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/66376
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_annot.cpp b/fpdfsdk/cpdfsdk_annot.cpp
index d6712d0..70f23a5 100644
--- a/fpdfsdk/cpdfsdk_annot.cpp
+++ b/fpdfsdk/cpdfsdk_annot.cpp
@@ -11,9 +11,11 @@
 #include "fpdfsdk/cpdfsdk_pageview.h"
 
 CPDFSDK_Annot::CPDFSDK_Annot(CPDFSDK_PageView* pPageView)
-    : m_pPageView(pPageView) {}
+    : m_pPageView(pPageView) {
+  ASSERT(m_pPageView);
+}
 
-CPDFSDK_Annot::~CPDFSDK_Annot() {}
+CPDFSDK_Annot::~CPDFSDK_Annot() = default;
 
 CPDFSDK_BAAnnot* CPDFSDK_Annot::AsBAAnnot() {
   return nullptr;
@@ -25,10 +27,10 @@
 
 IPDF_Page* CPDFSDK_Annot::GetXFAPage() {
 #ifdef PDF_ENABLE_XFA
-  if (m_pPageView)
-    return m_pPageView->GetXFAPage();
-#endif
+  return m_pPageView->GetXFAPage();
+#else
   return nullptr;
+#endif
 }
 
 int CPDFSDK_Annot::GetLayoutOrder() const {
@@ -63,5 +65,5 @@
 }
 
 CPDF_Page* CPDFSDK_Annot::GetPDFPage() {
-  return m_pPageView ? m_pPageView->GetPDFPage() : nullptr;
+  return m_pPageView->GetPDFPage();
 }
diff --git a/fpdfsdk/cpdfsdk_annot.h b/fpdfsdk/cpdfsdk_annot.h
index 7438795..666befc 100644
--- a/fpdfsdk/cpdfsdk_annot.h
+++ b/fpdfsdk/cpdfsdk_annot.h
@@ -38,6 +38,7 @@
   CPDF_Page* GetPDFPage();  // Returns PDF page or nullptr.
   IPDF_Page* GetXFAPage();  // Returns XFA page or nullptr.
 
+  // Never returns nullptr.
   CPDFSDK_PageView* GetPageView() const { return m_pPageView.Get(); }
 
  protected:
diff --git a/fpdfsdk/cpdfsdk_annothandlermgr.cpp b/fpdfsdk/cpdfsdk_annothandlermgr.cpp
index 8bdbfc9..d79b9ff 100644
--- a/fpdfsdk/cpdfsdk_annothandlermgr.cpp
+++ b/fpdfsdk/cpdfsdk_annothandlermgr.cpp
@@ -238,13 +238,13 @@
     return GetAnnotHandler(pAnnot)->OnKeyDown(pAnnot, nKeyCode, nFlag);
   }
   ObservedPtr<CPDFSDK_Annot> pObservedAnnot(pAnnot);
-  CPDFSDK_PageView* pPage = pAnnot->GetPageView();
-  CPDFSDK_Annot* pFocusAnnot = pPage->GetFocusAnnot();
+  CPDFSDK_PageView* pPageView = pAnnot->GetPageView();
+  CPDFSDK_Annot* pFocusAnnot = pPageView->GetFocusAnnot();
   if (pFocusAnnot && (nKeyCode == FWL_VKEY_Tab)) {
     ObservedPtr<CPDFSDK_Annot> pNext(
         GetNextAnnot(pFocusAnnot, !CPWL_Wnd::IsSHIFTKeyDown(nFlag)));
     if (pNext && pNext.Get() != pFocusAnnot) {
-      pPage->GetFormFillEnv()->SetFocusAnnot(&pNext);
+      pPageView->GetFormFillEnv()->SetFocusAnnot(&pNext);
       return true;
     }
   }
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
index 243528e..73a065d 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
@@ -74,12 +74,12 @@
   if (!widget)
     return;
 
-  CPDFSDK_PageView* pPageView = widget->GetPageView();
   IPDF_Page* pPage = widget->GetPage();
-  if (!pPage || !pPageView)
+  if (!pPage)
     return;
 
-  CFX_Matrix device2page = pPageView->GetCurrentMatrix().GetInverse();
+  CFX_Matrix device2page =
+      widget->GetPageView()->GetCurrentMatrix().GetInverse();
   CFX_PointF left_top = device2page.Transform(CFX_PointF(rect.left, rect.top));
   CFX_PointF right_bottom =
       device2page.Transform(CFX_PointF(rect.right, rect.bottom));
@@ -684,8 +684,7 @@
   if (!pAnnot->HasObservable())
     return false;
 
-  CPDFSDK_PageView* pPageView = (*pAnnot)->GetPageView();
-  if (!pPageView || !pPageView->IsValid())
+  if (!(*pAnnot)->GetPageView()->IsValid())
     return false;
 
   CPDFSDK_AnnotHandlerMgr* pAnnotHandler = GetAnnotHandlerMgr();
@@ -764,7 +763,7 @@
   }
 
   CPDFSDK_PageView* pPageView = (*pAnnot)->GetPageView();
-  if (!pPageView || !pPageView->IsValid())
+  if (!pPageView->IsValid())
     return;
 
   CPDF_Page* cpdf_page = (*pAnnot)->GetPDFPage();
@@ -779,4 +778,4 @@
       FPDFAnnotationFromCPDFAnnotContext(focused_annot.get());
 
   m_pInfo->FFI_OnFocusChange(m_pInfo, fpdf_annot, pPageView->GetPageIndex());
-}
\ No newline at end of file
+}
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp
index 84f2959..855c5c4 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp
@@ -629,11 +629,8 @@
   if (!pAnnot)
     return nullptr;
 
-  CPDFSDK_PageView* pPageView = pAnnot->GetPageView();
-  if (!pPageView)
-    return nullptr;
-
-  CPDFSDK_FormFillEnvironment* pFormFillEnv = pPageView->GetFormFillEnv();
+  CPDFSDK_FormFillEnvironment* pFormFillEnv =
+      pAnnot->GetPageView()->GetFormFillEnv();
   if (!pFormFillEnv)
     return nullptr;
 
diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp
index 3e07a3a..1cd0d3f 100644
--- a/fxjs/cjs_field.cpp
+++ b/fxjs/cjs_field.cpp
@@ -1531,13 +1531,9 @@
       return CJS_Result::Failure(JSMessage::kBadObjectError);
 
     auto* pWidget = ToCPDFSDKWidget(pObserved.Get());
-    CPDFSDK_PageView* pPageView = pWidget->GetPageView();
-    if (!pPageView)
-      return CJS_Result::Failure(JSMessage::kBadObjectError);
-
     pRuntime->PutArrayElement(
         PageArray, i,
-        pRuntime->NewNumber(static_cast<int32_t>(pPageView->GetPageIndex())));
+        pRuntime->NewNumber(pWidget->GetPageView()->GetPageIndex()));
     ++i;
   }
   return CJS_Result::Success(PageArray);