diff options
Diffstat (limited to 'core/fpdfapi/parser/cpdf_parser.h')
-rw-r--r-- | core/fpdfapi/parser/cpdf_parser.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/core/fpdfapi/parser/cpdf_parser.h b/core/fpdfapi/parser/cpdf_parser.h index 5f0a4a1cf3..705fad9bdb 100644 --- a/core/fpdfapi/parser/cpdf_parser.h +++ b/core/fpdfapi/parser/cpdf_parser.h @@ -26,9 +26,9 @@ class CPDF_Document; class CPDF_IndirectObjectHolder; class CPDF_LinearizedHeader; class CPDF_Object; +class CPDF_ObjectStream; class CPDF_ReadValidator; class CPDF_SecurityHandler; -class CPDF_StreamAcc; class CPDF_SyntaxParser; class IFX_SeekableReadStream; @@ -172,7 +172,8 @@ class CPDF_Parser { bool LoadLinearizedAllCrossRefV4(FX_FILESIZE pos); bool LoadLinearizedAllCrossRefV5(FX_FILESIZE pos); Error LoadLinearizedMainXRefTable(); - RetainPtr<CPDF_StreamAcc> GetObjectStream(uint32_t number); + const CPDF_ObjectStream* GetObjectStream(CPDF_IndirectObjectHolder* pObjList, + uint32_t object_number); std::unique_ptr<CPDF_LinearizedHeader> ParseLinearizedHeader(); void SetEncryptDictionary(CPDF_Dictionary* pDict); void ShrinkObjectMap(uint32_t size); @@ -218,15 +219,7 @@ class CPDF_Parser { std::unique_ptr<CPDF_LinearizedHeader> m_pLinearized; // A map of object numbers to indirect streams. - std::map<uint32_t, RetainPtr<CPDF_StreamAcc>> m_ObjectStreamMap; - - // Mapping of object numbers to offsets. The offsets are relative to the first - // object in the stream. - using StreamObjectCache = std::map<uint32_t, uint32_t>; - - // Mapping of streams to their object caches. This is valid as long as the - // streams in |m_ObjectStreamMap| are valid. - std::map<RetainPtr<CPDF_StreamAcc>, StreamObjectCache> m_ObjCache; + std::map<uint32_t, std::unique_ptr<CPDF_ObjectStream>> m_ObjectStreamMap; // All indirect object numbers that are being parsed. std::set<uint32_t> m_ParsingObjNums; |