Always pass a page dictionary to CPDF_Page.

The only time it is nullptr is in unit tests. Fix the unit tests by
passing in a dummy dictionary.

Also remove an unnecessary member initialization from CPDF_Page's ctor.

Change-Id: If4d2f000f891581e9620c952dcfa5899c54749ea
Reviewed-on: https://pdfium-review.googlesource.com/c/47632
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
index b5fbec8..786dd1d 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
@@ -55,7 +55,9 @@
   pPathObj->set_filltype(FXFILL_ALTERNATE);
   pPathObj->path().AppendRect(10, 5, 13, 30);
 
-  auto pTestPage = pdfium::MakeRetain<CPDF_Page>(nullptr, nullptr, false);
+  CPDF_Dictionary dummy_page_dict;
+  auto pTestPage =
+      pdfium::MakeRetain<CPDF_Page>(nullptr, &dummy_page_dict, false);
   CPDF_PageContentGenerator generator(pTestPage.Get());
   std::ostringstream buf;
   TestProcessPath(&generator, &buf, pPathObj.get());
@@ -96,7 +98,9 @@
   pPathObj->path().AppendPoint(CFX_PointF(12, 13.64f), FXPT_TYPE::BezierTo,
                                true);
 
-  auto pTestPage = pdfium::MakeRetain<CPDF_Page>(nullptr, nullptr, false);
+  CPDF_Dictionary dummy_page_dict;
+  auto pTestPage =
+      pdfium::MakeRetain<CPDF_Page>(nullptr, &dummy_page_dict, false);
   CPDF_PageContentGenerator generator(pTestPage.Get());
   std::ostringstream buf;
   TestProcessPath(&generator, &buf, pPathObj.get());
diff --git a/core/fpdfapi/page/cpdf_page.cpp b/core/fpdfapi/page/cpdf_page.cpp
index 23bedae..de44367 100644
--- a/core/fpdfapi/page/cpdf_page.cpp
+++ b/core/fpdfapi/page/cpdf_page.cpp
@@ -26,10 +26,9 @@
     : CPDF_PageObjectHolder(pDocument, pPageDict),
       m_PageSize(100, 100),
       m_pPDFDocument(pDocument) {
+  ASSERT(pPageDict);
   if (bPageCache)
     m_pPageRender = pdfium::MakeUnique<CPDF_PageRenderCache>(this);
-  if (!pPageDict)
-    return;
 
   CPDF_Object* pPageAttr = GetPageAttr(pdfium::page_object::kResources);
   m_pResources = pPageAttr ? pPageAttr->GetDict() : nullptr;
@@ -68,7 +67,6 @@
       break;
   }
 
-  m_Transparency = CPDF_Transparency();
   m_Transparency.SetIsolated();
   LoadTransInfo();
 }