| Index: core/fpdfapi/fpdf_parser/include/cpdf_parser.h
|
| diff --git a/core/fpdfapi/fpdf_parser/include/cpdf_parser.h b/core/fpdfapi/fpdf_parser/include/cpdf_parser.h
|
| index d6a5d5703b7088a94495b20d034e31e971bba763..3d2408fad10046c1a1f827035132a8af0cb6045e 100644
|
| --- a/core/fpdfapi/fpdf_parser/include/cpdf_parser.h
|
| +++ b/core/fpdfapi/fpdf_parser/include/cpdf_parser.h
|
| @@ -95,14 +95,37 @@ class CPDF_Parser {
|
| uint16_t gennum;
|
| };
|
|
|
| - void CloseParser();
|
| + std::unique_ptr<CPDF_SyntaxParser> m_pSyntax;
|
| + std::map<uint32_t, ObjectInfo> m_ObjectInfo;
|
| +
|
| + bool LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip);
|
| + FX_BOOL RebuildCrossRef();
|
| +
|
| + private:
|
| + friend class CPDF_DataAvail;
|
| +
|
| + enum class ParserState {
|
| + kDefault,
|
| + kComment,
|
| + kWhitespace,
|
| + kString,
|
| + kHexString,
|
| + kEscapedString,
|
| + kXref,
|
| + kObjNum,
|
| + kPostObjNum,
|
| + kGenNum,
|
| + kPostGenNum,
|
| + kTrailer,
|
| + kBeginObj,
|
| + kEndObj
|
| + };
|
| +
|
| CPDF_Object* ParseDirect(CPDF_Object* pObj);
|
| FX_BOOL LoadAllCrossRefV4(FX_FILESIZE pos);
|
| FX_BOOL LoadAllCrossRefV5(FX_FILESIZE pos);
|
| - bool LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip);
|
| FX_BOOL LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef);
|
| CPDF_Dictionary* LoadTrailerV4();
|
| - FX_BOOL RebuildCrossRef();
|
| Error SetEncryptHandler();
|
| void ReleaseEncryptHandler();
|
| FX_BOOL LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, uint32_t dwObjCount);
|
| @@ -118,7 +141,7 @@ class CPDF_Parser {
|
| bool VerifyCrossRefV4();
|
|
|
| CPDF_Document* m_pDocument; // not owned
|
| - std::unique_ptr<CPDF_SyntaxParser> m_pSyntax;
|
| + bool m_bHasParsed;
|
| bool m_bOwnFileRead;
|
| int m_FileVersion;
|
| CPDF_Dictionary* m_pTrailer;
|
| @@ -127,7 +150,6 @@ class CPDF_Parser {
|
| FX_BOOL m_bXRefStream;
|
| std::unique_ptr<CPDF_SecurityHandler> m_pSecurityHandler;
|
| CFX_ByteString m_Password;
|
| - std::map<uint32_t, ObjectInfo> m_ObjectInfo;
|
| std::set<FX_FILESIZE> m_SortedOffset;
|
| CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers;
|
| bool m_bVersionUpdated;
|
| @@ -149,25 +171,7 @@ class CPDF_Parser {
|
| // All indirect object numbers that are being parsed.
|
| std::set<uint32_t> m_ParsingObjNums;
|
|
|
| - friend class CPDF_DataAvail;
|
|
|
| - private:
|
| - enum class ParserState {
|
| - kDefault,
|
| - kComment,
|
| - kWhitespace,
|
| - kString,
|
| - kHexString,
|
| - kEscapedString,
|
| - kXref,
|
| - kObjNum,
|
| - kPostObjNum,
|
| - kGenNum,
|
| - kPostGenNum,
|
| - kTrailer,
|
| - kBeginObj,
|
| - kEndObj
|
| - };
|
| };
|
|
|
| #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
|
|
|