From 845cac29d76e03960e1de9a019bba67ced84792a Mon Sep 17 00:00:00 2001 From: thestig Date: Mon, 15 Aug 2016 06:05:16 -0700 Subject: Clean up CPDF_HintTables. Review-Url: https://codereview.chromium.org/2241153002 --- core/fpdfapi/fpdf_parser/cpdf_hint_tables.h | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'core/fpdfapi/fpdf_parser/cpdf_hint_tables.h') diff --git a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h index 1eb072367a..35fbdcb79b 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h +++ b/core/fpdfapi/fpdf_parser/cpdf_hint_tables.h @@ -22,26 +22,33 @@ class CPDF_HintTables { CPDF_HintTables(CPDF_DataAvail* pDataAvail, CPDF_Dictionary* pLinearized); ~CPDF_HintTables(); - FX_BOOL GetPagePos(int index, - FX_FILESIZE& szPageStartPos, - FX_FILESIZE& szPageLength, - uint32_t& dwObjNum); + bool GetPagePos(int index, + FX_FILESIZE* szPageStartPos, + FX_FILESIZE* szPageLength, + uint32_t* dwObjNum); CPDF_DataAvail::DocAvailStatus CheckPage( int index, CPDF_DataAvail::DownloadHints* pHints); - FX_BOOL LoadHintStream(CPDF_Stream* pHintStream); + bool LoadHintStream(CPDF_Stream* pHintStream); protected: - FX_BOOL ReadPageHintTable(CFX_BitStream* hStream); - FX_BOOL ReadSharedObjHintTable(CFX_BitStream* hStream, uint32_t offset); + bool ReadPageHintTable(CFX_BitStream* hStream); + bool ReadSharedObjHintTable(CFX_BitStream* hStream, uint32_t offset); uint32_t GetItemLength(int index, const std::vector& szArray); private: + int GetEndOfFirstPageOffset() const; + int GetNumberOfPages() const; + int GetFirstPageObjectNumber() const; + int GetFirstPageNumber() const; int ReadPrimaryHintStreamOffset() const; int ReadPrimaryHintStreamLength() const; + // Helper for the ReadPrimaryHintStream methods above. + int ReadPrimaryHintStream(int index) const; + // Owner, outlives this object. CPDF_DataAvail* const m_pDataAvail; @@ -50,10 +57,10 @@ class CPDF_HintTables { uint32_t m_nFirstPageSharedObjs; FX_FILESIZE m_szFirstPageObjOffset; - CFX_ArrayTemplate m_dwDeltaNObjsArray; - CFX_ArrayTemplate m_dwNSharedObjsArray; - CFX_ArrayTemplate m_dwSharedObjNumArray; - CFX_ArrayTemplate m_dwIdentifierArray; + std::vector m_dwDeltaNObjsArray; + std::vector m_dwNSharedObjsArray; + std::vector m_dwSharedObjNumArray; + std::vector m_dwIdentifierArray; std::vector m_szPageOffsetArray; std::vector m_szSharedObjOffsetArray; }; -- cgit v1.2.3