| Index: core/fpdfapi/parser/cpdf_document.cpp | 
| diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp | 
| index 1794288e62efe0784df83fd58e43dffbaed2925c..1fcdf291be64fe9d66a932c8f02a515f538ef115 100644 | 
| --- a/core/fpdfapi/parser/cpdf_document.cpp | 
| +++ b/core/fpdfapi/parser/cpdf_document.cpp | 
| @@ -17,6 +17,7 @@ | 
| #include "core/fpdfapi/page/pageint.h" | 
| #include "core/fpdfapi/parser/cpdf_array.h" | 
| #include "core/fpdfapi/parser/cpdf_dictionary.h" | 
| +#include "core/fpdfapi/parser/cpdf_linearized.h" | 
| #include "core/fpdfapi/parser/cpdf_number.h" | 
| #include "core/fpdfapi/parser/cpdf_parser.h" | 
| #include "core/fpdfapi/parser/cpdf_reference.h" | 
| @@ -454,23 +455,13 @@ void CPDF_Document::LoadDoc() { | 
| m_PageList.SetSize(RetrievePageCount()); | 
| } | 
|  | 
| -void CPDF_Document::LoadLinearizedDoc(CPDF_Dictionary* pLinearizationParams) { | 
| +void CPDF_Document::LoadLinearizedDoc( | 
| +    const CPDF_Linearized* pLinearizationParams) { | 
| m_bLinearized = true; | 
| LoadDocInternal(); | 
| - | 
| -  uint32_t dwPageCount = 0; | 
| -  CPDF_Object* pCount = pLinearizationParams->GetObjectFor("N"); | 
| -  if (ToNumber(pCount)) | 
| -    dwPageCount = pCount->GetInteger(); | 
| -  m_PageList.SetSize(dwPageCount); | 
| - | 
| -  CPDF_Object* pNo = pLinearizationParams->GetObjectFor("P"); | 
| -  if (ToNumber(pNo)) | 
| -    m_iFirstPageNo = pNo->GetInteger(); | 
| - | 
| -  CPDF_Object* pObjNum = pLinearizationParams->GetObjectFor("O"); | 
| -  if (ToNumber(pObjNum)) | 
| -    m_dwFirstPageObjNum = pObjNum->GetInteger(); | 
| +  m_PageList.SetSize(pLinearizationParams->GetPageCount()); | 
| +  m_iFirstPageNo = pLinearizationParams->GetFirstPageNo(); | 
| +  m_dwFirstPageObjNum = pLinearizationParams->GetFirstPageObjNum(); | 
| } | 
|  | 
| void CPDF_Document::LoadPages() { | 
|  |