Return retained references from CPDF_PageObjectHolder methods.
Propagate these into a few called methods.
-- fix some local names while at it.
Change-Id: Ib03a04672baf7a63cfdc8b33370c16f8a5cc7200
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/99010
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_pageview.cpp b/fpdfsdk/cpdfsdk_pageview.cpp
index 79b2fe3..66ed4cf 100644
--- a/fpdfsdk/cpdfsdk_pageview.cpp
+++ b/fpdfsdk/cpdfsdk_pageview.cpp
@@ -609,7 +609,6 @@
}
int CPDFSDK_PageView::GetPageIndexForStaticPDF() const {
- const CPDF_Dictionary* pDict = GetPDFPage()->GetDict();
CPDF_Document* pDoc = m_pFormFillEnv->GetPDFDocument();
- return pDoc->GetPageIndex(pDict->GetObjNum());
+ return pDoc->GetPageIndex(GetPDFPage()->GetDict()->GetObjNum());
}
diff --git a/fpdfsdk/fpdf_doc.cpp b/fpdfsdk/fpdf_doc.cpp
index d5c4abf..c66da2b 100644
--- a/fpdfsdk/fpdf_doc.cpp
+++ b/fpdfsdk/fpdf_doc.cpp
@@ -445,9 +445,7 @@
if (!pdf_page)
return nullptr;
- const CPDF_Dictionary* page_dict = pdf_page->GetDict();
- CPDF_AAction aa(page_dict->GetDictFor(pdfium::form_fields::kAA));
-
+ CPDF_AAction aa(pdf_page->GetDict()->GetDictFor(pdfium::form_fields::kAA));
CPDF_AAction::AActionType type;
if (aa_type == FPDFPAGE_AACTION_OPEN)
type = CPDF_AAction::kOpenPage;
diff --git a/fpdfsdk/fpdf_editimg.cpp b/fpdfsdk/fpdf_editimg.cpp
index bde58fc..e64651e 100644
--- a/fpdfsdk/fpdf_editimg.cpp
+++ b/fpdfsdk/fpdf_editimg.cpp
@@ -391,7 +391,7 @@
RetainPtr<CPDF_DIB> pSource = pImg->CreateNewDIB();
CPDF_DIB::LoadState ret = pSource->StartLoadDIBBase(
- false, nullptr, pPage->GetPageResources(), false,
+ false, nullptr, pPage->GetPageResources().Get(), false,
CPDF_ColorSpace::Family::kUnknown, false);
if (ret == CPDF_DIB::LoadState::kFail)
return true;
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index 2d6ff76..fbc059b 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -67,7 +67,7 @@
if (!pPage)
return false;
- const CPDF_Dictionary* pFormDict = pPage->GetDict();
+ RetainPtr<const CPDF_Dictionary> pFormDict = pPage->GetDict();
if (!pFormDict->KeyExist(pdfium::page_object::kType))
return false;
diff --git a/fpdfsdk/fpdf_formfill.cpp b/fpdfsdk/fpdf_formfill.cpp
index 2694f75..78924cf 100644
--- a/fpdfsdk/fpdf_formfill.cpp
+++ b/fpdfsdk/fpdf_formfill.cpp
@@ -800,8 +800,7 @@
if (!pFormFillEnv->GetPageView(pPage))
return;
- const CPDF_Dictionary* pPageDict = pPDFPage->GetDict();
- CPDF_AAction aa(pPageDict->GetDictFor(pdfium::form_fields::kAA));
+ CPDF_AAction aa(pPDFPage->GetDict()->GetDictFor(pdfium::form_fields::kAA));
CPDF_AAction::AActionType type = aaType == FPDFPAGE_AACTION_OPEN
? CPDF_AAction::kOpenPage
: CPDF_AAction::kClosePage;
diff --git a/fpdfsdk/fpdf_ppo.cpp b/fpdfsdk/fpdf_ppo.cpp
index 670bc3a..a8df848 100644
--- a/fpdfsdk/fpdf_ppo.cpp
+++ b/fpdfsdk/fpdf_ppo.cpp
@@ -601,8 +601,7 @@
RetainPtr<CPDF_Stream> CPDF_NPageToOneExporter::MakeXObjectFromPageRaw(
RetainPtr<CPDF_Page> pSrcPage) {
- // TODO(tsepez): return retained object from CPDF_Page::GetDict()'
- RetainPtr<const CPDF_Dictionary> pSrcPageDict(pSrcPage->GetDict());
+ RetainPtr<const CPDF_Dictionary> pSrcPageDict = pSrcPage->GetDict();
RetainPtr<const CPDF_Object> pSrcContentObj =
pSrcPageDict->GetDirectObjectFor(pdfium::page_object::kContents);
diff --git a/fpdfsdk/fpdf_thumbnail.cpp b/fpdfsdk/fpdf_thumbnail.cpp
index 71c5c26..74c7831 100644
--- a/fpdfsdk/fpdf_thumbnail.cpp
+++ b/fpdfsdk/fpdf_thumbnail.cpp
@@ -18,11 +18,11 @@
namespace {
RetainPtr<const CPDF_Stream> CPDFStreamForThumbnailFromPage(FPDF_PAGE page) {
- const CPDF_Page* p_page = CPDFPageFromFPDFPage(page);
- if (!p_page)
+ const CPDF_Page* pdf_page = CPDFPageFromFPDFPage(page);
+ if (!pdf_page)
return nullptr;
- const CPDF_Dictionary* page_dict = p_page->GetDict();
+ RetainPtr<const CPDF_Dictionary> page_dict = pdf_page->GetDict();
if (!page_dict->KeyExist("Type"))
return nullptr;
@@ -62,18 +62,17 @@
if (!thumb_stream)
return nullptr;
- const CPDF_Page* p_page = CPDFPageFromFPDFPage(page);
-
- auto p_source = pdfium::MakeRetain<CPDF_DIB>(p_page->GetDocument(),
- std::move(thumb_stream));
- const CPDF_DIB::LoadState start_status = p_source->StartLoadDIBBase(
- false, nullptr, p_page->GetPageResources(), false,
+ const CPDF_Page* pdf_page = CPDFPageFromFPDFPage(page);
+ auto dib_source = pdfium::MakeRetain<CPDF_DIB>(pdf_page->GetDocument(),
+ std::move(thumb_stream));
+ const CPDF_DIB::LoadState start_status = dib_source->StartLoadDIBBase(
+ false, nullptr, pdf_page->GetPageResources().Get(), false,
CPDF_ColorSpace::Family::kUnknown, false);
if (start_status == CPDF_DIB::LoadState::kFail)
return nullptr;
auto thumb_bitmap = pdfium::MakeRetain<CFX_DIBitmap>();
- if (!thumb_bitmap->Copy(p_source))
+ if (!thumb_bitmap->Copy(dib_source))
return nullptr;
return FPDFBitmapFromCFXDIBitmap(thumb_bitmap.Leak());