| Index: third_party/WebKit/Source/platform/graphics/ImageSource.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/ImageSource.cpp b/third_party/WebKit/Source/platform/graphics/ImageSource.cpp
|
| index 2240bb2160a37865045e6fd24db7cf3f29b42587..17ba96b7a0acc478ca833fec0d0e250c724290e9 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/ImageSource.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/ImageSource.cpp
|
| @@ -27,6 +27,7 @@
|
|
|
| #include "platform/graphics/ImageSource.h"
|
|
|
| +#include "platform/RuntimeEnabledFeatures.h"
|
| #include "platform/graphics/DeferredImageDecoder.h"
|
| #include "platform/image-decoders/ImageDecoder.h"
|
| #include "third_party/skia/include/core/SkImage.h"
|
| @@ -56,9 +57,16 @@ bool ImageSource::setData(PassRefPtr<SharedBuffer> passData,
|
| return true;
|
| }
|
|
|
| - m_decoder = DeferredImageDecoder::create(data, allDataReceived,
|
| - ImageDecoder::AlphaPremultiplied,
|
| - ImageDecoder::ColorSpaceApplied);
|
| + if (RuntimeEnabledFeatures::colorCorrectRenderingEnabled()) {
|
| + m_decoder = DeferredImageDecoder::create(
|
| + data, allDataReceived, ImageDecoder::AlphaPremultiplied,
|
| + ImageDecoder::ColorSpaceTagged, nullptr);
|
| + } else {
|
| + m_decoder = DeferredImageDecoder::create(
|
| + data, allDataReceived, ImageDecoder::AlphaPremultiplied,
|
| + ImageDecoder::ColorSpaceTransformed,
|
| + ImageDecoder::globalTargetColorSpace());
|
| + }
|
|
|
| // Insufficient data is not a failure.
|
| return m_decoder || !ImageDecoder::hasSufficientDataToSniffImageType(*data);
|
|
|