| Index: third_party/WebKit/Source/core/frame/ImageBitmap.cpp
 | 
| diff --git a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp
 | 
| index 5b8c35329d9b886e7686d8c596715422b8176ff8..69833dd1649699db7c51b9f515c18296a2fa181d 100644
 | 
| --- a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp
 | 
| +++ b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp
 | 
| @@ -190,7 +190,10 @@ ImageBitmap::ImageBitmap(HTMLCanvasElement* canvas, const IntRect& cropRect, con
 | 
|      bool imageOrientationFlipYFlag;
 | 
|      bool premultiplyAlphaEnabledFlag;
 | 
|      parseOptions(options, imageOrientationFlipYFlag, premultiplyAlphaEnabledFlag);
 | 
| -    m_image = cropImage(canvas->copiedImage(BackBuffer, PreferAcceleration).get(), cropRect, imageOrientationFlipYFlag, premultiplyAlphaEnabledFlag);
 | 
| +    // canvas is always premultiplied, so set the last parameter to true and convert to un-premul later
 | 
| +    m_image = cropImage(canvas->copiedImage(BackBuffer, PreferAcceleration).get(), cropRect, imageOrientationFlipYFlag, true);
 | 
| +    if (!premultiplyAlphaEnabledFlag)
 | 
| +        m_image = StaticBitmapImage::create(premulSkImageToUnPremul(m_image->imageForCurrentFrame().get()));
 | 
|      m_image->setOriginClean(canvas->originClean());
 | 
|  }
 | 
|  
 | 
| 
 |