| Index: third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp | 
| diff --git a/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp | 
| index a9621b5a1058f9cd5e2404cb48dfd82615ab593d..c70914cd7fcd947db070db0eb49ba09e3fe7fe3a 100644 | 
| --- a/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp | 
| +++ b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp | 
| @@ -100,6 +100,7 @@ PassRefPtr<SkImage> DeferredImageDecoder::createFrameAtIndex(size_t index) | 
| void DeferredImageDecoder::setData(SharedBuffer& data, bool allDataReceived) | 
| { | 
| if (m_actualDecoder) { | 
| +        fprintf(stderr, "DeferredImageDecoder %p setData decoder %p\n", this, m_actualDecoder.get()); | 
| m_data = RefPtr<SharedBuffer>(data); | 
| m_lastDataSize = data.size(); | 
| m_allDataReceived = allDataReceived; | 
| @@ -123,6 +124,14 @@ bool DeferredImageDecoder::hasColorProfile() const | 
| return m_actualDecoder ? m_actualDecoder->hasColorProfile() : m_hasColorProfile; | 
| } | 
|  | 
| +PassRefPtr<ColorSpaceProfile> DeferredImageDecoder::colorProfile() const | 
| +{ | 
| +    if (m_actualDecoder) | 
| +        return m_actualDecoder->colorProfile(); | 
| + | 
| +    return m_colorProfile; | 
| +} | 
| + | 
| IntSize DeferredImageDecoder::size() const | 
| { | 
| return m_actualDecoder ? m_actualDecoder->size() : m_size; | 
| @@ -204,15 +213,31 @@ ImageOrientation DeferredImageDecoder::orientationAtIndex(size_t index) const | 
| return DefaultImageOrientation; | 
| } | 
|  | 
| +void DeferredImageDecoder::setDeviceProfile(ColorSpaceProfile* profile) | 
| +{ | 
| +    m_deviceProfile = profile; | 
| + | 
| +    if (m_actualDecoder) | 
| +        m_actualDecoder->setDeviceProfile(profile); | 
| + | 
| +    if (m_frameGenerator) | 
| +        m_frameGenerator->setDeviceProfile(profile); | 
| +} | 
| + | 
| void DeferredImageDecoder::activateLazyDecoding() | 
| { | 
| if (m_frameGenerator) | 
| return; | 
| + | 
| +    fprintf(stderr, "DeferredImageDecoder %p activateLazyDecoding\n", this); | 
| + | 
| m_size = m_actualDecoder->size(); | 
| m_filenameExtension = m_actualDecoder->filenameExtension(); | 
| m_hasColorProfile = m_actualDecoder->hasColorProfile(); | 
| +    m_colorProfile = m_hasColorProfile ? m_actualDecoder->colorProfile() : nullptr; | 
| const bool isSingleFrame = m_actualDecoder->repetitionCount() == cAnimationNone || (m_allDataReceived && m_actualDecoder->frameCount() == 1u); | 
| m_frameGenerator = ImageFrameGenerator::create(SkISize::Make(m_actualDecoder->decodedSize().width(), m_actualDecoder->decodedSize().height()), m_data, m_allDataReceived, !isSingleFrame); | 
| +    m_frameGenerator->setDeviceProfile(m_deviceProfile.get()); | 
| } | 
|  | 
| void DeferredImageDecoder::prepareLazyDecodedFrames() | 
|  |