diff options
author | Jun Fang <jun_fang@foxitsoftware.com> | 2015-12-29 10:27:44 +0800 |
---|---|---|
committer | Jun Fang <jun_fang@foxitsoftware.com> | 2015-12-29 10:27:44 +0800 |
commit | 1aeeceb45d785fc9cfbc69510220655fdcc9dd63 (patch) | |
tree | 0eb8920e2414868eaa23fe7c6c35637fe33ffa43 /core | |
parent | 14da3986ba7406dc973f15f15d62ee41490b725e (diff) | |
download | pdfium-1aeeceb45d785fc9cfbc69510220655fdcc9dd63.tar.xz |
Merge to XFA: Fix partial information printed with blank window covering the center
BUG=482206
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1551563002 .
Review URL: https://codereview.chromium.org/1552643002 .
Diffstat (limited to 'core')
-rw-r--r-- | core/include/fpdfapi/fpdf_page.h | 3 | ||||
-rw-r--r-- | core/src/fpdfapi/fpdf_page/fpdf_page.cpp | 1 | ||||
-rw-r--r-- | core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/core/include/fpdfapi/fpdf_page.h b/core/include/fpdfapi/fpdf_page.h index efbfa67280..d58537aa7e 100644 --- a/core/include/fpdfapi/fpdf_page.h +++ b/core/include/fpdfapi/fpdf_page.h @@ -67,6 +67,8 @@ class CPDF_PageObjects { FX_BOOL BackgroundAlphaNeeded() const { return m_bBackgroundAlphaNeeded; } + FX_BOOL HasImageMask() const { return m_bHasImageMask; } + CFX_FloatRect CalcBoundingBox() const; CPDF_Dictionary* m_pFormDict; @@ -89,6 +91,7 @@ class CPDF_PageObjects { CFX_PtrList m_ObjectList; FX_BOOL m_bBackgroundAlphaNeeded; + FX_BOOL m_bHasImageMask; FX_BOOL m_bReleaseMembers; CPDF_ContentParser* m_pParser; ParseState m_ParseState; diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp index 1fef74b99b..7e2492fad7 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp @@ -675,6 +675,7 @@ CPDF_PageObjects::CPDF_PageObjects(FX_BOOL bReleaseMembers) m_Transparency(0), m_ObjectList(128), m_bBackgroundAlphaNeeded(FALSE), + m_bHasImageMask(FALSE), m_bReleaseMembers(bReleaseMembers), m_pParser(nullptr), m_ParseState(CONTENT_NOT_PARSED) {} diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp index 865c6b7116..264b6fb36f 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp @@ -710,6 +710,8 @@ void CPDF_StreamContentParser::Handle_ExecuteXObject() { CPDF_ImageObject* pObj = AddImage(pXObject, NULL, FALSE); m_LastImageName = name; m_pLastImage = pObj->m_pImage; + if (!m_pObjectList->m_bHasImageMask) + m_pObjectList->m_bHasImageMask = m_pLastImage->IsMask(); } else if (type == "Form") { AddForm(pXObject); } else { |