diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-06-05 19:24:42 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-06-05 19:24:42 +0000 |
commit | 778e59ed40ed31f6176a68253b694acd31f640c9 (patch) | |
tree | 8fbaac034139d4a64a561f481c56eaf28d2b8118 /core/fpdfapi/page/cpdf_form.cpp | |
parent | 354ed202ccd4d6b9d408789a30517ebb1633570b (diff) | |
download | pdfium-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/page/cpdf_form.cpp')
-rw-r--r-- | core/fpdfapi/page/cpdf_form.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/core/fpdfapi/page/cpdf_form.cpp b/core/fpdfapi/page/cpdf_form.cpp index 5132029072..e73f1dfa43 100644 --- a/core/fpdfapi/page/cpdf_form.cpp +++ b/core/fpdfapi/page/cpdf_form.cpp @@ -19,13 +19,12 @@ CPDF_Form::CPDF_Form(CPDF_Document* pDoc, CPDF_Dictionary* pParentResources) : CPDF_PageObjectHolder(pDoc, pFormStream->GetDict()) { m_pFormStream = pFormStream; - m_pResources = m_pFormDict->GetDictFor("Resources"); + m_pResources = GetFormDict()->GetDictFor("Resources"); m_pPageResources = pPageResources; if (!m_pResources) m_pResources = pParentResources; if (!m_pResources) m_pResources = pPageResources; - m_Transparency = CPDF_Transparency(); LoadTransInfo(); } @@ -35,19 +34,20 @@ void CPDF_Form::ParseContent(CPDF_AllStates* pGraphicStates, const CFX_Matrix* pParentMatrix, CPDF_Type3Char* pType3Char, std::set<const uint8_t*>* parsedSet) { - if (m_ParseState == CONTENT_PARSED || m_ParseState == CONTENT_PARSING) + if (GetParseState() == ParseState::kParsed) return; - if (!parsedSet) { - if (!m_ParsedSet) - m_ParsedSet = pdfium::MakeUnique<std::set<const uint8_t*>>(); - parsedSet = m_ParsedSet.get(); + if (GetParseState() == ParseState::kNotParsed) { + if (!parsedSet) { + if (!m_ParsedSet) + m_ParsedSet = pdfium::MakeUnique<std::set<const uint8_t*>>(); + parsedSet = m_ParsedSet.get(); + } + StartParse(pdfium::MakeUnique<CPDF_ContentParser>( + this, pGraphicStates, pParentMatrix, pType3Char, parsedSet)); } - m_pParser = pdfium::MakeUnique<CPDF_ContentParser>( - this, pGraphicStates, pParentMatrix, pType3Char, parsedSet); - m_ParseState = CONTENT_PARSING; - + ASSERT(GetParseState() == ParseState::kParsing); ContinueParse(nullptr); } |