From 20eca1e383b7dce69cd791d42bda3558a3966301 Mon Sep 17 00:00:00 2001 From: Artem Strygin Date: Wed, 27 Jun 2018 18:15:10 +0000 Subject: Rework of loading of CPDF_Document. Improve CPDF_Document interface. Fix relationship between CPDF_Document and CPDF_Parser. This CL changes CPDF_Document to internally create the CPDF_Parser and removes the need for the CPDF_Parser to know about the CPDF_Document. Change-Id: Iec7aef19575c90f30b9a6c919dfd4f4417e4caf2 Reviewed-on: https://pdfium-review.googlesource.com/35630 Commit-Queue: Art Snake Reviewed-by: dsinclair --- core/fpdfapi/parser/cpdf_data_avail.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'core/fpdfapi/parser/cpdf_data_avail.cpp') diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp index acc01c65ed..3b39e3f54b 100644 --- a/core/fpdfapi/parser/cpdf_data_avail.cpp +++ b/core/fpdfapi/parser/cpdf_data_avail.cpp @@ -214,7 +214,7 @@ std::unique_ptr CPDF_DataAvail::GetObject(uint32_t objnum, std::unique_ptr pRet; if (pParser) { const CPDF_ReadValidator::Session read_session(GetValidator().Get()); - pRet = pParser->ParseIndirectObject(nullptr, objnum); + pRet = pParser->ParseIndirectObject(objnum); if (GetValidator()->has_read_problems()) return nullptr; } @@ -233,7 +233,7 @@ bool CPDF_DataAvail::CheckInfo() { } const CPDF_ReadValidator::Session read_session(GetValidator().Get()); - m_parser.ParseIndirectObject(nullptr, dwInfoObjNum); + m_parser.ParseIndirectObject(dwInfoObjNum); if (GetValidator()->has_read_problems()) return false; @@ -249,7 +249,7 @@ bool CPDF_DataAvail::CheckRoot() { } const CPDF_ReadValidator::Session read_session(GetValidator().Get()); - m_pRoot = ToDictionary(m_parser.ParseIndirectObject(nullptr, dwRootObjNum)); + m_pRoot = ToDictionary(m_parser.ParseIndirectObject(dwRootObjNum)); if (GetValidator()->has_read_problems()) return false; @@ -1011,11 +1011,11 @@ CPDF_DataAvail::ParseDocument(const char* password) { } auto parser = pdfium::MakeUnique(); parser->SetPassword(password); - auto document = pdfium::MakeUnique(std::move(parser)); + auto document = pdfium::MakeUnique(); CPDF_ReadValidator::Session read_session(GetValidator().Get()); - CPDF_Parser::Error error = document->GetParser()->StartLinearizedParse( - GetValidator(), document.get()); + CPDF_Parser::Error error = + document->LoadLinearizedDoc(GetValidator(), password); // Additional check, that all ok. if (GetValidator()->has_read_problems()) { -- cgit v1.2.3