summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_data_avail.h
diff options
context:
space:
mode:
authorArtem Strygin <art-snake@yandex-team.ru>2017-07-27 14:01:32 +0300
committerChromium commit bot <commit-bot@chromium.org>2017-07-28 00:03:54 +0000
commit834ebece214f06c6e9fda803ab321e8453b3a54b (patch)
tree259c4aead897943a48c99016d17cd63a04de5d12 /core/fpdfapi/parser/cpdf_data_avail.h
parent672a1721620c3f4e62fe6adfaceb929d423ae31f (diff)
downloadpdfium-834ebece214f06c6e9fda803ab321e8453b3a54b.tar.xz
Implement read validator.
The wrapper for IFX_SeekableReadStream. Which allow us to check data availability on read request and request downloading of non available data on fly. Change-Id: I27c66cd58f43f8432f73104cc3f4c980515a9b56 Reviewed-on: https://pdfium-review.googlesource.com/9050 Commit-Queue: Art Snake <art-snake@yandex-team.ru> Reviewed-by: (OOO Jul 28 - Aug 8) dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_data_avail.h')
-rw-r--r--core/fpdfapi/parser/cpdf_data_avail.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/core/fpdfapi/parser/cpdf_data_avail.h b/core/fpdfapi/parser/cpdf_data_avail.h
index eb45c144c8..f19b36d375 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.h
+++ b/core/fpdfapi/parser/cpdf_data_avail.h
@@ -21,6 +21,7 @@ class CPDF_HintTables;
class CPDF_IndirectObjectHolder;
class CPDF_LinearizedHeader;
class CPDF_Parser;
+class CPDF_ReadValidator;
enum PDF_DATAAVAIL_STATUS {
PDF_DATAAVAIL_HEADER = 0,
@@ -107,9 +108,7 @@ class CPDF_DataAvail final {
DocFormStatus IsFormAvail(DownloadHints* pHints);
DocLinearizationStatus IsLinearizedPDF();
bool IsLinearized();
- CFX_RetainPtr<IFX_SeekableReadStream> GetFileRead() const {
- return m_pFileRead;
- }
+ CFX_RetainPtr<IFX_SeekableReadStream> GetFileRead() const;
int GetPageCount() const;
CPDF_Dictionary* GetPage(int index);
@@ -137,7 +136,7 @@ class CPDF_DataAvail final {
bool CheckHintTables(DownloadHints* pHints);
bool CheckEnd(DownloadHints* pHints);
bool CheckCrossRef(DownloadHints* pHints);
- bool CheckCrossRefItem(DownloadHints* pHints);
+ bool CheckCrossRefItem();
bool CheckTrailer(DownloadHints* pHints);
bool CheckRoot(DownloadHints* pHints);
bool CheckInfo(DownloadHints* pHints);
@@ -194,7 +193,7 @@ class CPDF_DataAvail final {
bool ValidateForm();
FileAvail* const m_pFileAvail;
- CFX_RetainPtr<IFX_SeekableReadStream> m_pFileRead;
+ CFX_RetainPtr<CPDF_ReadValidator> m_pFileRead;
CPDF_Parser m_parser;
CPDF_SyntaxParser m_syntaxParser;
std::unique_ptr<CPDF_Object> m_pRoot;