Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: core/include/fpdfapi/fpdf_parser.h

Issue 1671113002: Remove CFX_FileSizeArray. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Add size_t cast Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | core/include/fxcrt/fx_basic.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
8 #define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ 8 #define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
9 9
10 #include <map> 10 #include <map>
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 CPDF_IndirectObjectHolder* pObjList, 389 CPDF_IndirectObjectHolder* pObjList,
390 FX_FILESIZE pos, 390 FX_FILESIZE pos,
391 FX_DWORD objnum, 391 FX_DWORD objnum,
392 FX_FILESIZE* pResultPos); 392 FX_FILESIZE* pResultPos);
393 393
394 Error StartAsyncParse(IFX_FileRead* pFile); 394 Error StartAsyncParse(IFX_FileRead* pFile);
395 395
396 FX_DWORD GetFirstPageNo() const { return m_dwFirstPageNo; } 396 FX_DWORD GetFirstPageNo() const { return m_dwFirstPageNo; }
397 397
398 protected: 398 protected:
399 struct ObjectInfo {
400 ObjectInfo() : pos(0), type(0), gennum(0) {}
401
402 FX_FILESIZE pos;
403 uint8_t type;
404 uint16_t gennum;
405 };
406
399 void CloseParser(); 407 void CloseParser();
400 CPDF_Object* ParseDirect(CPDF_Object* pObj); 408 CPDF_Object* ParseDirect(CPDF_Object* pObj);
401 FX_BOOL LoadAllCrossRefV4(FX_FILESIZE pos); 409 FX_BOOL LoadAllCrossRefV4(FX_FILESIZE pos);
402 FX_BOOL LoadAllCrossRefV5(FX_FILESIZE pos); 410 FX_BOOL LoadAllCrossRefV5(FX_FILESIZE pos);
403 bool LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip); 411 bool LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip);
404 FX_BOOL LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef); 412 FX_BOOL LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef);
405 CPDF_Dictionary* LoadTrailerV4(); 413 CPDF_Dictionary* LoadTrailerV4();
406 FX_BOOL RebuildCrossRef(); 414 FX_BOOL RebuildCrossRef();
407 Error SetEncryptHandler(); 415 Error SetEncryptHandler();
408 void ReleaseEncryptHandler(); 416 void ReleaseEncryptHandler();
409 FX_BOOL LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount); 417 FX_BOOL LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);
410 FX_BOOL LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount); 418 FX_BOOL LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);
411 FX_BOOL LoadLinearizedAllCrossRefV5(FX_FILESIZE pos); 419 FX_BOOL LoadLinearizedAllCrossRefV5(FX_FILESIZE pos);
412 Error LoadLinearizedMainXRefTable(); 420 Error LoadLinearizedMainXRefTable();
413 CPDF_StreamAcc* GetObjectStream(FX_DWORD number); 421 CPDF_StreamAcc* GetObjectStream(FX_DWORD number);
414 FX_BOOL IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWORD offset); 422 FX_BOOL IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWORD offset);
415 bool FindPosInOffsets(FX_FILESIZE pos) const;
416 void SetEncryptDictionary(CPDF_Dictionary* pDict); 423 void SetEncryptDictionary(CPDF_Dictionary* pDict);
417 void ShrinkObjectMap(FX_DWORD size); 424 void ShrinkObjectMap(FX_DWORD size);
418 425
419 CPDF_Document* m_pDocument; 426 CPDF_Document* m_pDocument;
420 CPDF_SyntaxParser m_Syntax; 427 CPDF_SyntaxParser m_Syntax;
421 bool m_bOwnFileRead; 428 bool m_bOwnFileRead;
422 int m_FileVersion; 429 int m_FileVersion;
423 CPDF_Dictionary* m_pTrailer; 430 CPDF_Dictionary* m_pTrailer;
424 CPDF_Dictionary* m_pEncryptDict; 431 CPDF_Dictionary* m_pEncryptDict;
425 FX_FILESIZE m_LastXRefOffset; 432 FX_FILESIZE m_LastXRefOffset;
426 FX_BOOL m_bXRefStream; 433 FX_BOOL m_bXRefStream;
427 std::unique_ptr<IPDF_SecurityHandler> m_pSecurityHandler; 434 std::unique_ptr<IPDF_SecurityHandler> m_pSecurityHandler;
428 CFX_ByteString m_bsRecipient; 435 CFX_ByteString m_bsRecipient;
429 CFX_ByteString m_FilePath; 436 CFX_ByteString m_FilePath;
430 CFX_ByteString m_Password; 437 CFX_ByteString m_Password;
431
432 struct ObjectInfo {
433 ObjectInfo() : pos(0), type(0), gennum(0) {}
434
435 FX_FILESIZE pos;
436 uint8_t type;
437 uint16_t gennum;
438 };
439 std::map<FX_DWORD, ObjectInfo> m_ObjectInfo; 438 std::map<FX_DWORD, ObjectInfo> m_ObjectInfo;
440 439 std::set<FX_FILESIZE> m_SortedOffset;
441 CFX_FileSizeArray m_SortedOffset;
442 CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers; 440 CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers;
443 FX_BOOL m_bVersionUpdated; 441 FX_BOOL m_bVersionUpdated;
444 CPDF_Object* m_pLinearized; 442 CPDF_Object* m_pLinearized;
445 FX_DWORD m_dwFirstPageNo; 443 FX_DWORD m_dwFirstPageNo;
446 FX_DWORD m_dwXrefStartObjNum; 444 FX_DWORD m_dwXrefStartObjNum;
447 445
448 // A map of object numbers to indirect streams. Map owns the streams. 446 // A map of object numbers to indirect streams. Map owns the streams.
449 std::map<FX_DWORD, std::unique_ptr<CPDF_StreamAcc>> m_ObjectStreamMap; 447 std::map<FX_DWORD, std::unique_ptr<CPDF_StreamAcc>> m_ObjectStreamMap;
450 448
451 // Mapping of object numbers to offsets. The offsets are relative to the first 449 // Mapping of object numbers to offsets. The offsets are relative to the first
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
883 FX_DWORD src_size, 881 FX_DWORD src_size,
884 const CPDF_Dictionary* pDict, 882 const CPDF_Dictionary* pDict,
885 uint8_t*& dest_buf, 883 uint8_t*& dest_buf,
886 FX_DWORD& dest_size, 884 FX_DWORD& dest_size,
887 CFX_ByteString& ImageEncoding, 885 CFX_ByteString& ImageEncoding,
888 CPDF_Dictionary*& pImageParms, 886 CPDF_Dictionary*& pImageParms,
889 FX_DWORD estimated_size, 887 FX_DWORD estimated_size,
890 FX_BOOL bImageAcc); 888 FX_BOOL bImageAcc);
891 889
892 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ 890 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
OLDNEW
« no previous file with comments | « no previous file | core/include/fxcrt/fx_basic.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698