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

Side by Side Diff: core/fpdfapi/parser/cpdf_data_avail.h

Issue 2479303002: Use unique_ptr return from CPDF_Parser::ParseIndirectObject() (Closed)
Patch Set: Work around android Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ 7 #ifndef CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_
8 #define CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ 8 #define CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_
9 9
10 #include <vector> 10 #include <vector>
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 bool CheckAcroFormSubObject(DownloadHints* pHints); 149 bool CheckAcroFormSubObject(DownloadHints* pHints);
150 bool CheckTrailerAppend(DownloadHints* pHints); 150 bool CheckTrailerAppend(DownloadHints* pHints);
151 bool CheckPageStatus(DownloadHints* pHints); 151 bool CheckPageStatus(DownloadHints* pHints);
152 bool CheckAllCrossRefStream(DownloadHints* pHints); 152 bool CheckAllCrossRefStream(DownloadHints* pHints);
153 153
154 int32_t CheckCrossRefStream(DownloadHints* pHints, FX_FILESIZE& xref_offset); 154 int32_t CheckCrossRefStream(DownloadHints* pHints, FX_FILESIZE& xref_offset);
155 bool IsLinearizedFile(uint8_t* pData, uint32_t dwLen); 155 bool IsLinearizedFile(uint8_t* pData, uint32_t dwLen);
156 void SetStartOffset(FX_FILESIZE dwOffset); 156 void SetStartOffset(FX_FILESIZE dwOffset);
157 bool GetNextToken(CFX_ByteString& token); 157 bool GetNextToken(CFX_ByteString& token);
158 bool GetNextChar(uint8_t& ch); 158 bool GetNextChar(uint8_t& ch);
159 CPDF_Object* ParseIndirectObjectAt( 159 std::unique_ptr<CPDF_Object> ParseIndirectObjectAt(
160 FX_FILESIZE pos, 160 FX_FILESIZE pos,
161 uint32_t objnum, 161 uint32_t objnum,
162 CPDF_IndirectObjectHolder* pObjList = nullptr); 162 CPDF_IndirectObjectHolder* pObjList = nullptr);
163 CPDF_Object* GetObject(uint32_t objnum, 163 std::unique_ptr<CPDF_Object> GetObject(uint32_t objnum,
164 DownloadHints* pHints, 164 DownloadHints* pHints,
165 bool* pExistInFile); 165 bool* pExistInFile);
166 bool GetPageKids(CPDF_Parser* pParser, CPDF_Object* pPages); 166 bool GetPageKids(CPDF_Parser* pParser, CPDF_Object* pPages);
167 bool PreparePageItem(); 167 bool PreparePageItem();
168 bool LoadPages(DownloadHints* pHints); 168 bool LoadPages(DownloadHints* pHints);
169 bool LoadAllXref(DownloadHints* pHints); 169 bool LoadAllXref(DownloadHints* pHints);
170 bool LoadAllFile(DownloadHints* pHints); 170 bool LoadAllFile(DownloadHints* pHints);
171 DocAvailStatus CheckLinearizedData(DownloadHints* pHints); 171 DocAvailStatus CheckLinearizedData(DownloadHints* pHints);
172 bool CheckPageAnnots(uint32_t dwPage, DownloadHints* pHints); 172 bool CheckPageAnnots(uint32_t dwPage, DownloadHints* pHints);
173 173
174 DocAvailStatus CheckLinearizedFirstPage(uint32_t dwPage, 174 DocAvailStatus CheckLinearizedFirstPage(uint32_t dwPage,
175 DownloadHints* pHints); 175 DownloadHints* pHints);
(...skipping 14 matching lines...) Expand all
190 DownloadHints* pHints); 190 DownloadHints* pHints);
191 bool CheckPageCount(DownloadHints* pHints); 191 bool CheckPageCount(DownloadHints* pHints);
192 bool IsFirstCheck(uint32_t dwPage); 192 bool IsFirstCheck(uint32_t dwPage);
193 void ResetFirstCheck(uint32_t dwPage); 193 void ResetFirstCheck(uint32_t dwPage);
194 bool IsDataAvail(FX_FILESIZE offset, uint32_t size, DownloadHints* pHints); 194 bool IsDataAvail(FX_FILESIZE offset, uint32_t size, DownloadHints* pHints);
195 195
196 FileAvail* const m_pFileAvail; 196 FileAvail* const m_pFileAvail;
197 IFX_SeekableReadStream* const m_pFileRead; 197 IFX_SeekableReadStream* const m_pFileRead;
198 CPDF_Parser m_parser; 198 CPDF_Parser m_parser;
199 CPDF_SyntaxParser m_syntaxParser; 199 CPDF_SyntaxParser m_syntaxParser;
200 CPDF_Object* m_pRoot; 200 std::unique_ptr<CPDF_Object> m_pRoot;
201 uint32_t m_dwRootObjNum; 201 uint32_t m_dwRootObjNum;
202 uint32_t m_dwInfoObjNum; 202 uint32_t m_dwInfoObjNum;
203 std::unique_ptr<CPDF_LinearizedHeader> m_pLinearized; 203 std::unique_ptr<CPDF_LinearizedHeader> m_pLinearized;
204 CPDF_Object* m_pTrailer; 204 CPDF_Object* m_pTrailer;
205 bool m_bDocAvail; 205 bool m_bDocAvail;
206 FX_FILESIZE m_dwHeaderOffset; 206 FX_FILESIZE m_dwHeaderOffset;
207 FX_FILESIZE m_dwLastXRefOffset; 207 FX_FILESIZE m_dwLastXRefOffset;
208 FX_FILESIZE m_dwXRefOffset; 208 FX_FILESIZE m_dwXRefOffset;
209 FX_FILESIZE m_dwTrailerOffset; 209 FX_FILESIZE m_dwTrailerOffset;
210 FX_FILESIZE m_dwCurrentOffset; 210 FX_FILESIZE m_dwCurrentOffset;
(...skipping 21 matching lines...) Expand all
232 bool m_bHaveAcroForm; 232 bool m_bHaveAcroForm;
233 uint32_t m_dwAcroFormObjNum; 233 uint32_t m_dwAcroFormObjNum;
234 bool m_bAcroFormLoad; 234 bool m_bAcroFormLoad;
235 CPDF_Object* m_pAcroForm; 235 CPDF_Object* m_pAcroForm;
236 std::vector<CPDF_Object*> m_arrayAcroforms; 236 std::vector<CPDF_Object*> m_arrayAcroforms;
237 CPDF_Dictionary* m_pPageDict; 237 CPDF_Dictionary* m_pPageDict;
238 CPDF_Object* m_pPageResource; 238 CPDF_Object* m_pPageResource;
239 bool m_bNeedDownLoadResource; 239 bool m_bNeedDownLoadResource;
240 bool m_bPageLoadedOK; 240 bool m_bPageLoadedOK;
241 bool m_bLinearizedFormParamLoad; 241 bool m_bLinearizedFormParamLoad;
242 std::vector<CPDF_Object*> m_PagesArray; 242 std::vector<std::unique_ptr<CPDF_Object>> m_PagesArray;
243 uint32_t m_dwEncryptObjNum; 243 uint32_t m_dwEncryptObjNum;
244 FX_FILESIZE m_dwPrevXRefOffset; 244 FX_FILESIZE m_dwPrevXRefOffset;
245 bool m_bTotalLoadPageTree; 245 bool m_bTotalLoadPageTree;
246 bool m_bCurPageDictLoadOK; 246 bool m_bCurPageDictLoadOK;
247 PageNode m_pageNodes; 247 PageNode m_pageNodes;
248 std::set<uint32_t> m_pageMapCheckState; 248 std::set<uint32_t> m_pageMapCheckState;
249 std::set<uint32_t> m_pagesLoadState; 249 std::set<uint32_t> m_pagesLoadState;
250 std::unique_ptr<CPDF_HintTables> m_pHintTables; 250 std::unique_ptr<CPDF_HintTables> m_pHintTables;
251 bool m_bSupportHintTable; 251 bool m_bSupportHintTable;
252 }; 252 };
253 253
254 #endif // CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_ 254 #endif // CORE_FPDFAPI_PARSER_CPDF_DATA_AVAIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698