diff options
author | dsinclair <dsinclair@chromium.org> | 2016-08-16 11:43:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-16 11:43:24 -0700 |
commit | f85e7e2ea29179dfe4ddc25ab410f8898391999c (patch) | |
tree | d32f70e74fd0f39aa5b1051d0e7366fb586d2d06 /core/fpdfapi/fpdf_parser/cpdf_document.cpp | |
parent | 4540fbaa718b0b06e076321e0e1a61e80a161499 (diff) | |
download | pdfium-f85e7e2ea29179dfe4ddc25ab410f8898391999c.tar.xz |
Rename async to linearized when parsing
The parser and document refer to async loading and parsing. The code isn't
actually async but loading a linearized PDF. This Cl renames the methods to
clarify what the code is doing.
The LoadDoc() and LoadLinearizedDoc() methods have been refactored to share
a common LoadDocInternal() method.
Review-Url: https://codereview.chromium.org/2250163002
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_document.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_document.cpp | 46 |
1 files changed, 19 insertions, 27 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_document.cpp b/core/fpdfapi/fpdf_parser/cpdf_document.cpp index 7f69295675..bf1f93f887 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_document.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_document.cpp @@ -496,54 +496,46 @@ CPDF_Document::~CPDF_Document() { CPDF_ModuleMgr::Get()->GetPageModule()->ClearStockFont(this); } -void CPDF_Document::LoadDoc() { +void CPDF_Document::LoadDocInternal() { m_LastObjNum = m_pParser->GetLastObjNum(); + CPDF_Object* pRootObj = GetIndirectObject(m_pParser->GetRootObjNum()); - if (!pRootObj) { + if (!pRootObj) return; - } + m_pRootDict = pRootObj->GetDict(); - if (!m_pRootDict) { + if (!m_pRootDict) return; - } + CPDF_Object* pInfoObj = GetIndirectObject(m_pParser->GetInfoObjNum()); - if (pInfoObj) { + if (pInfoObj) m_pInfoDict = pInfoObj->GetDict(); - } - CPDF_Array* pIDArray = m_pParser->GetIDArray(); - if (pIDArray) { + if (CPDF_Array* pIDArray = m_pParser->GetIDArray()) { m_ID1 = pIDArray->GetStringAt(0); m_ID2 = pIDArray->GetStringAt(1); } +} + +void CPDF_Document::LoadDoc() { + LoadDocInternal(); m_PageList.SetSize(RetrievePageCount()); } -void CPDF_Document::LoadAsynDoc(CPDF_Dictionary* pLinearized) { +void CPDF_Document::LoadLinearizedDoc(CPDF_Dictionary* pLinearizationParams) { m_bLinearized = true; - m_LastObjNum = m_pParser->GetLastObjNum(); - CPDF_Object* pIndirectObj = GetIndirectObject(m_pParser->GetRootObjNum()); - m_pRootDict = pIndirectObj ? pIndirectObj->GetDict() : nullptr; - if (!m_pRootDict) { - return; - } - pIndirectObj = GetIndirectObject(m_pParser->GetInfoObjNum()); - m_pInfoDict = pIndirectObj ? pIndirectObj->GetDict() : nullptr; - CPDF_Array* pIDArray = m_pParser->GetIDArray(); - if (pIDArray) { - m_ID1 = pIDArray->GetStringAt(0); - m_ID2 = pIDArray->GetStringAt(1); - } + LoadDocInternal(); + uint32_t dwPageCount = 0; - CPDF_Object* pCount = pLinearized->GetObjectBy("N"); + CPDF_Object* pCount = pLinearizationParams->GetObjectBy("N"); if (ToNumber(pCount)) dwPageCount = pCount->GetInteger(); - m_PageList.SetSize(dwPageCount); - CPDF_Object* pNo = pLinearized->GetObjectBy("P"); + + CPDF_Object* pNo = pLinearizationParams->GetObjectBy("P"); if (ToNumber(pNo)) m_iFirstPageNo = pNo->GetInteger(); - CPDF_Object* pObjNum = pLinearized->GetObjectBy("O"); + CPDF_Object* pObjNum = pLinearizationParams->GetObjectBy("O"); if (ToNumber(pObjNum)) m_dwFirstPageObjNum = pObjNum->GetInteger(); } |