| Index: third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp | 
| diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp | 
| index 7e4e93e90a39072faa33203c1a447d343a2fb9cf..9ba0e090c3f7083e5863746294ba12dce12f38a6 100644 | 
| --- a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp | 
| +++ b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp | 
| @@ -356,7 +356,7 @@ bool ImageDecoder::initFrameBuffer(size_t frameIndex) { | 
| // This frame doesn't rely on any previous data. | 
| if (!buffer->setSizeAndColorSpace(size().width(), size().height(), | 
| colorSpaceForSkImages())) { | 
| -      return setFailed(); | 
| +      return false; | 
| } | 
| } else { | 
| ImageFrame* const prevBuffer = | 
| @@ -370,7 +370,7 @@ bool ImageDecoder::initFrameBuffer(size_t frameIndex) { | 
| if ((!canReusePreviousFrameBuffer(frameIndex) || | 
| !buffer->takeBitmapDataIfWritable(prevBuffer)) && | 
| !buffer->copyBitmapData(*prevBuffer)) | 
| -      return setFailed(); | 
| +      return false; | 
|  | 
| if (prevBuffer->getDisposalMethod() == | 
| ImageFrame::DisposeOverwriteBgcolor) { | 
| @@ -382,10 +382,11 @@ bool ImageDecoder::initFrameBuffer(size_t frameIndex) { | 
| } | 
| } | 
|  | 
| +  onInitFrameBuffer(frameIndex); | 
| + | 
| // Update our status to be partially complete. | 
| buffer->setStatus(ImageFrame::FramePartial); | 
|  | 
| -  onInitFrameBuffer(frameIndex); | 
| return true; | 
| } | 
|  | 
|  |