Index: third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h |
diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h |
index 4cf6b14a44b1e89f2d3e238a7ded0d52c970386e..d6169b58aeebc72104ed8a14f883ad644a14f644 100644 |
--- a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h |
+++ b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h |
@@ -209,12 +209,19 @@ class PLATFORM_EXPORT ImageDecoder { |
bool ignoresColorSpace() const { return m_ignoreColorSpace; } |
static void setTargetColorProfile(const WebVector<char>&); |
- // Note that hasColorSpace refers to the existence of a not-ignored |
- // embedded color space, and is independent of whether or not that |
- // space's transform has been baked into the pixel values. |
- bool hasColorSpace() const { return m_srcSpace.get(); } |
- void setColorSpaceAndComputeTransform(const char* iccData, |
- unsigned iccLength); |
+ // This returns the color space of this image. If the image had no embedded |
+ // color profile, this will return sRGB. Returns nullptr if color correct |
+ // rendering is not enabled. |
+ sk_sp<SkColorSpace> colorSpace() const; |
+ |
+ // This returns whether or not the image included a not-ignored embedded |
+ // color space. This is independent of whether or not that space's transform |
+ // has been baked into the pixel values. |
+ bool hasEmbeddedColorSpace() const { return m_embeddedColorSpace.get(); } |
+ |
+ // Set the embedded color space directly or via ICC profile. |
+ void setColorProfileAndComputeTransform(const char* iccData, |
+ unsigned iccLength); |
void setColorSpaceAndComputeTransform(sk_sp<SkColorSpace> srcSpace); |
// Transformation from encoded color space to target color space. |
@@ -301,9 +308,6 @@ class PLATFORM_EXPORT ImageDecoder { |
// Decodes the requested frame. |
virtual void decode(size_t) = 0; |
- // Returns the embedded image color space. |
- sk_sp<SkColorSpace> colorSpace() const { return m_srcSpace; } |
- |
RefPtr<SegmentReader> m_data; // The encoded data. |
Vector<ImageFrame, 1> m_frameBufferCache; |
const bool m_premultiplyAlpha; |
@@ -342,7 +346,7 @@ class PLATFORM_EXPORT ImageDecoder { |
bool m_isAllDataReceived = false; |
bool m_failed = false; |
- sk_sp<SkColorSpace> m_srcSpace = nullptr; |
+ sk_sp<SkColorSpace> m_embeddedColorSpace = nullptr; |
std::unique_ptr<SkColorSpaceXform> m_sourceToOutputDeviceColorTransform; |
}; |