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);