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

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

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

Powered by Google App Engine
This is Rietveld 408576698