| 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());
|
| }
|
|
|
|
|