summaryrefslogtreecommitdiff
path: root/core/fpdfapi/render/cpdf_progressiverenderer.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-06-05 19:24:42 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-05 19:24:42 +0000
commit778e59ed40ed31f6176a68253b694acd31f640c9 (patch)
tree8fbaac034139d4a64a561f481c56eaf28d2b8118 /core/fpdfapi/render/cpdf_progressiverenderer.cpp
parent354ed202ccd4d6b9d408789a30517ebb1633570b (diff)
downloadpdfium-778e59ed40ed31f6176a68253b694acd31f640c9.tar.xz
Tidy parser lifecycle state machine in CPDF_PageObjectHolder.
Only update state in CPDF_PageObjectHolder itself. Make more data private. Remove CPDF_Page::GetPageBBox() as exact duplicate of CPDF_PageObjectHolder::GetBBox(). Change-Id: I083ec33f61a1490e7a5e673c9787751af15a6cd1 Reviewed-on: https://pdfium-review.googlesource.com/33810 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/render/cpdf_progressiverenderer.cpp')
-rw-r--r--core/fpdfapi/render/cpdf_progressiverenderer.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/core/fpdfapi/render/cpdf_progressiverenderer.cpp b/core/fpdfapi/render/cpdf_progressiverenderer.cpp
index e388f7fa10..de140d8a22 100644
--- a/core/fpdfapi/render/cpdf_progressiverenderer.cpp
+++ b/core/fpdfapi/render/cpdf_progressiverenderer.cpp
@@ -114,20 +114,22 @@ void CPDF_ProgressiveRenderer::Continue(PauseIndicatorIface* pPause) {
if (is_mask && iter != iterEnd)
return;
}
- if (m_pCurrentLayer->m_pObjectHolder->IsParsed()) {
+ if (m_pCurrentLayer->m_pObjectHolder->GetParseState() ==
+ CPDF_PageObjectHolder::ParseState::kParsed) {
m_pRenderStatus.reset();
m_pDevice->RestoreState(false);
m_pCurrentLayer = nullptr;
m_LayerIndex++;
- if (is_mask || (pPause && pPause->NeedToPauseNow())) {
+ if (is_mask || (pPause && pPause->NeedToPauseNow()))
return;
- }
} else if (is_mask) {
return;
} else {
m_pCurrentLayer->m_pObjectHolder->ContinueParse(pPause);
- if (!m_pCurrentLayer->m_pObjectHolder->IsParsed())
+ if (m_pCurrentLayer->m_pObjectHolder->GetParseState() !=
+ CPDF_PageObjectHolder::ParseState::kParsed) {
return;
+ }
}
}
}