From 7edcf2ce07e87022361a0e00fde27aad738c0621 Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Tue, 5 Jun 2018 19:43:11 +0000 Subject: Revert "Do not merge content streams to parse them." This reverts commit 9d3fb11a985a8f2aefbf361c0030c7bce2248b8e. Reason for revert: Break rendering of http://www.flbb.lu/bio_files/BIO_25_2005.pdf Original change's description: > Do not merge content streams to parse them. > > Removed the PrepareContent() step in CPDF_ContentParser, as its goal > was to merge these streams. > > In Parse(), now loop through the m_StreamArray and parse each stream > separately. > > Bug: pdfium:1051 > Change-Id: Id07f3efe766828081c8cf8601bf69c4f37e20e13 > Reviewed-on: https://pdfium-review.googlesource.com/33595 > Commit-Queue: Henrique Nakashima > Reviewed-by: Ryan Harrison TBR=thestig@chromium.org,hnakashima@chromium.org,rharrison@chromium.org Change-Id: I8186b2dac8538ca477302bb91e22dcc54124461a Bug: pdfium:1051 Reviewed-on: https://pdfium-review.googlesource.com/33991 Commit-Queue: Henrique Nakashima Reviewed-by: Henrique Nakashima --- core/fpdfapi/page/cpdf_contentparser.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'core/fpdfapi/page/cpdf_contentparser.h') diff --git a/core/fpdfapi/page/cpdf_contentparser.h b/core/fpdfapi/page/cpdf_contentparser.h index 92a3e06890..f9b491defa 100644 --- a/core/fpdfapi/page/cpdf_contentparser.h +++ b/core/fpdfapi/page/cpdf_contentparser.h @@ -42,22 +42,26 @@ class CPDF_ContentParser { private: enum class Stage : uint8_t { kGetContent = 1, + kPrepareContent, kParse, kCheckClip, kComplete, }; Stage GetContent(); + Stage PrepareContent(); Stage Parse(); Stage CheckClip(); Stage m_CurrentStage; UnownedPtr const m_pObjectHolder; UnownedPtr m_pType3Char; // Only used when parsing forms. + RetainPtr m_pSingleStream; std::vector> m_StreamArray; + MaybeOwned m_pData; uint32_t m_nStreams = 0; + uint32_t m_Size = 0; uint32_t m_CurrentOffset = 0; - uint32_t m_CurrentStream = 0; // Only used when parsing pages. std::unique_ptr> m_parsedSet; -- cgit v1.2.3