summaryrefslogtreecommitdiff
path: root/core/fpdfapi
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi')
-rw-r--r--core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp4
-rw-r--r--core/fpdfapi/font/cpdf_type3font.cpp3
-rw-r--r--core/fpdfapi/page/cpdf_form.cpp12
-rw-r--r--core/fpdfapi/page/cpdf_form.h11
-rw-r--r--core/fpdfapi/page/cpdf_streamcontentparser.cpp3
-rw-r--r--core/fpdfapi/page/cpdf_tilingpattern.cpp2
-rw-r--r--core/fpdfapi/render/cpdf_renderstatus.cpp2
7 files changed, 22 insertions, 15 deletions
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
index c7a98c9493..1dd6d25e2a 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
@@ -298,7 +298,7 @@ TEST_F(CPDF_PageContentGeneratorTest, ProcessEmptyForm) {
// Create an empty form.
auto pTestForm =
pdfium::MakeUnique<CPDF_Form>(pDoc.get(), nullptr, pStream.get());
- pTestForm->ParseContent(nullptr, nullptr, nullptr);
+ pTestForm->ParseContent();
ASSERT_TRUE(pTestForm->IsParsed());
// The generated stream for the empty form should be an empty string.
@@ -324,7 +324,7 @@ TEST_F(CPDF_PageContentGeneratorTest, ProcessFormWithPath) {
// Create a form with a non-empty stream.
auto pTestForm =
pdfium::MakeUnique<CPDF_Form>(pDoc.get(), nullptr, pStream.get());
- pTestForm->ParseContent(nullptr, nullptr, nullptr);
+ pTestForm->ParseContent();
ASSERT_TRUE(pTestForm->IsParsed());
CPDF_PageContentGenerator generator(pTestForm.get());
diff --git a/core/fpdfapi/font/cpdf_type3font.cpp b/core/fpdfapi/font/cpdf_type3font.cpp
index e13deaa56b..2af1dac44f 100644
--- a/core/fpdfapi/font/cpdf_type3font.cpp
+++ b/core/fpdfapi/font/cpdf_type3font.cpp
@@ -114,7 +114,8 @@ CPDF_Type3Char* CPDF_Type3Font::LoadChar(uint32_t charcode) {
// can change as a result. Thus after it returns, check the cache again for
// a cache hit.
m_CharLoadingDepth++;
- pNewChar->m_pForm->ParseContent(nullptr, nullptr, pNewChar.get());
+ pNewChar->m_pForm->ParseContentWithParams(nullptr, nullptr, pNewChar.get(),
+ 0);
m_CharLoadingDepth--;
it = m_CacheMap.find(charcode);
if (it != m_CacheMap.end())
diff --git a/core/fpdfapi/page/cpdf_form.cpp b/core/fpdfapi/page/cpdf_form.cpp
index c2170ac4e7..c5d9cbffcf 100644
--- a/core/fpdfapi/page/cpdf_form.cpp
+++ b/core/fpdfapi/page/cpdf_form.cpp
@@ -44,10 +44,14 @@ void CPDF_Form::StartParse(CPDF_AllStates* pGraphicStates,
m_ParseState = CONTENT_PARSING;
}
-void CPDF_Form::ParseContent(CPDF_AllStates* pGraphicStates,
- const CFX_Matrix* pParentMatrix,
- CPDF_Type3Char* pType3Char,
- int level) {
+void CPDF_Form::ParseContent() {
+ ParseContentWithParams(nullptr, nullptr, nullptr, 0);
+}
+
+void CPDF_Form::ParseContentWithParams(CPDF_AllStates* pGraphicStates,
+ const CFX_Matrix* pParentMatrix,
+ CPDF_Type3Char* pType3Char,
+ int level) {
StartParse(pGraphicStates, pParentMatrix, pType3Char, level);
ContinueParse(nullptr);
}
diff --git a/core/fpdfapi/page/cpdf_form.h b/core/fpdfapi/page/cpdf_form.h
index 910f38fd08..2cce800f23 100644
--- a/core/fpdfapi/page/cpdf_form.h
+++ b/core/fpdfapi/page/cpdf_form.h
@@ -24,16 +24,17 @@ class CPDF_Form : public CPDF_PageObjectHolder {
CPDF_Dictionary* pParentResources = nullptr);
~CPDF_Form() override;
- void ParseContent(CPDF_AllStates* pGraphicStates,
- const CFX_Matrix* pParentMatrix,
- CPDF_Type3Char* pType3Char,
- int level = 0);
+ void ParseContent();
+ void ParseContentWithParams(CPDF_AllStates* pGraphicStates,
+ const CFX_Matrix* pParentMatrix,
+ CPDF_Type3Char* pType3Char,
+ int level);
private:
void StartParse(CPDF_AllStates* pGraphicStates,
const CFX_Matrix* pParentMatrix,
CPDF_Type3Char* pType3Char,
- int level = 0);
+ int level);
};
#endif // CORE_FPDFAPI_PAGE_CPDF_FORM_H_
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index a6af91d9ff..7bd6b50123 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -775,7 +775,8 @@ void CPDF_StreamContentParser::AddForm(CPDF_Stream* pStream) {
status.m_GraphState = m_pCurStates->m_GraphState;
status.m_ColorState = m_pCurStates->m_ColorState;
status.m_TextState = m_pCurStates->m_TextState;
- pFormObj->m_pForm->ParseContent(&status, nullptr, nullptr, m_Level + 1);
+ pFormObj->m_pForm->ParseContentWithParams(&status, nullptr, nullptr,
+ m_Level + 1);
if (!m_pObjectHolder->BackgroundAlphaNeeded() &&
pFormObj->m_pForm->BackgroundAlphaNeeded()) {
m_pObjectHolder->SetBackgroundAlphaNeeded(true);
diff --git a/core/fpdfapi/page/cpdf_tilingpattern.cpp b/core/fpdfapi/page/cpdf_tilingpattern.cpp
index 65542a27b5..a5252578a5 100644
--- a/core/fpdfapi/page/cpdf_tilingpattern.cpp
+++ b/core/fpdfapi/page/cpdf_tilingpattern.cpp
@@ -49,7 +49,7 @@ bool CPDF_TilingPattern::Load() {
const CFX_Matrix& matrix = parent_matrix();
m_pForm = pdfium::MakeUnique<CPDF_Form>(document(), nullptr, pStream);
- m_pForm->ParseContent(nullptr, &matrix, nullptr);
+ m_pForm->ParseContentWithParams(nullptr, &matrix, nullptr, 0);
m_BBox = pDict->GetRectFor("BBox");
return true;
}
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index 380914fd27..316717c120 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -2545,7 +2545,7 @@ CFX_RetainPtr<CFX_DIBitmap> CPDF_RenderStatus::LoadSMask(
CPDF_Form form(m_pContext->GetDocument(), m_pContext->GetPageResources(),
pGroup);
- form.ParseContent(nullptr, nullptr, nullptr);
+ form.ParseContent();
CFX_DefaultRenderDevice bitmap_device;
bool bLuminosity = pSMaskDict->GetStringFor("S") != "Alpha";