M56: Fix CPDFImage::IsInline().
Commit 137a344a changed its behavior.
BUG=chromium:667012
Review-Url: https://codereview.chromium.org/2513273003
(cherry picked from commit 7daa6fb286d1b5d65f99521f3314083e86d93e3f)
Review URL: https://codereview.chromium.org/2532383002 .
diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp
index 1c3aa89..e060ad8 100644
--- a/core/fpdfapi/page/cpdf_image.cpp
+++ b/core/fpdfapi/page/cpdf_image.cpp
@@ -8,10 +8,10 @@
#include <algorithm>
#include <memory>
+#include <utility>
#include <vector>
#include "core/fpdfapi/cpdf_modulemgr.h"
-#include "core/fpdfapi/page/cpdf_docpagedata.h"
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_boolean.h"
@@ -30,7 +30,8 @@
CPDF_Image::CPDF_Image(CPDF_Document* pDoc,
std::unique_ptr<CPDF_Stream> pStream)
- : m_pDocument(pDoc),
+ : m_bIsInline(true),
+ m_pDocument(pDoc),
m_pStream(pStream.get()),
m_pOwnedStream(std::move(pStream)) {
m_pOwnedDict =
@@ -59,16 +60,15 @@
CPDF_Image* CPDF_Image::Clone() {
CPDF_Image* pImage = new CPDF_Image(m_pDocument);
+ pImage->m_bIsInline = m_bIsInline;
if (m_pOwnedStream) {
- pImage->m_pOwnedStream =
- ToStream(std::unique_ptr<CPDF_Object>(m_pOwnedStream->Clone()));
+ pImage->m_pOwnedStream = ToStream(m_pOwnedStream->Clone());
pImage->m_pStream = pImage->m_pOwnedStream.get();
} else {
pImage->m_pStream = m_pStream;
}
if (m_pOwnedDict) {
- pImage->m_pOwnedDict =
- ToDictionary(std::unique_ptr<CPDF_Object>(m_pOwnedDict->Clone()));
+ pImage->m_pOwnedDict = ToDictionary(m_pOwnedDict->Clone());
pImage->m_pDict = pImage->m_pOwnedDict.get();
} else {
pImage->m_pDict = m_pDict;
diff --git a/core/fpdfapi/page/cpdf_image.h b/core/fpdfapi/page/cpdf_image.h
index a9bcef2..848b0e4 100644
--- a/core/fpdfapi/page/cpdf_image.h
+++ b/core/fpdfapi/page/cpdf_image.h
@@ -7,6 +7,8 @@
#ifndef CORE_FPDFAPI_PAGE_CPDF_IMAGE_H_
#define CORE_FPDFAPI_PAGE_CPDF_IMAGE_H_
+#include <memory>
+
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fxcrt/fx_system.h"
@@ -14,16 +16,13 @@
#define PDF_IMAGE_LOSSY_COMPRESS 0x0001
#define PDF_IMAGE_LOSSLESS_COMPRESS 0x0002
#define PDF_IMAGE_MASK_LOSSY_COMPRESS 0x0004
-#define PDF_IMAGE_MASK_LOSSLESS_COMPRESS 0x0008
class CFX_DIBSource;
class CFX_DIBitmap;
-class CPDF_Dictionay;
class CPDF_Document;
class CPDF_Page;
class IFX_Pause;
class IFX_SeekableReadStream;
-class IFX_SeekableWriteStream;
class CPDF_Image {
public:
@@ -46,7 +45,7 @@
int32_t GetPixelHeight() const { return m_Height; }
int32_t GetPixelWidth() const { return m_Width; }
- bool IsInline() const { return !!m_pOwnedStream; }
+ bool IsInline() const { return m_bIsInline; }
bool IsMask() const { return m_bIsMask; }
bool IsInterpol() const { return m_bInterpolate; }
@@ -80,6 +79,7 @@
int32_t m_Height = 0;
int32_t m_Width = 0;
+ bool m_bIsInline = false;
bool m_bIsMask = false;
bool m_bInterpolate = false;
CPDF_Document* const m_pDocument;