Chromium Code Reviews| 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 3bebb361f49c1496e6fa794cf165950cf6d99f1d..113c713d89fb9728da7ddc2d91ba0712c13a1ac7 100644 |
| --- a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp |
| +++ b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp |
| @@ -276,8 +276,7 @@ static PassRefPtr<StaticBitmapImage> cropImage( |
| Image* image, |
| const ParsedOptions& parsedOptions, |
| AlphaDisposition imageFormat = PremultiplyAlpha, |
| - ImageDecoder::ColorSpaceOption colorSpaceOp = |
| - ImageDecoder::ColorSpaceTransformed) { |
| + bool ignoreColorSpace = false) { |
| ASSERT(image); |
| IntRect imgRect(IntPoint(), IntSize(image->width(), image->height())); |
| const IntRect srcRect = intersection(imgRect, parsedOptions.cropRect); |
| @@ -307,14 +306,13 @@ static PassRefPtr<StaticBitmapImage> cropImage( |
| if ((((!parsedOptions.premultiplyAlpha && !skiaImage->isOpaque()) || |
| !skiaImage) && |
| image->data() && imageFormat == PremultiplyAlpha) || |
| - colorSpaceOp == ImageDecoder::ColorSpaceIgnored) { |
| + ignoreColorSpace) { |
| std::unique_ptr<ImageDecoder> decoder(ImageDecoder::create( |
| image->data(), true, |
| parsedOptions.premultiplyAlpha ? ImageDecoder::AlphaPremultiplied |
| : ImageDecoder::AlphaNotPremultiplied, |
| - colorSpaceOp, colorSpaceOp == ImageDecoder::ColorSpaceTransformed |
| - ? ImageDecoder::globalTargetColorSpace() |
| - : nullptr)); |
| + ignoreColorSpace ? ColorBehavior::ignore() |
| + : ColorBehavior::transformToGlobalTarget())); |
| if (!decoder) |
| return nullptr; |
| skiaImage = ImageBitmap::getSkImageFromDecoder(std::move(decoder)); |
| @@ -391,11 +389,9 @@ ImageBitmap::ImageBitmap(HTMLImageElement* image, |
| return; |
| if (options.colorSpaceConversion() == "none") { |
| - m_image = cropImage(input.get(), parsedOptions, PremultiplyAlpha, |
| - ImageDecoder::ColorSpaceIgnored); |
| + m_image = cropImage(input.get(), parsedOptions, PremultiplyAlpha, true); |
|
pdr.
2016/12/07 19:29:36
I think passing a bool here is a small regression
ccameron
2016/12/07 20:31:38
It'll need to be a ColorBehavior eventually (a fut
|
| } else { |
| - m_image = cropImage(input.get(), parsedOptions, PremultiplyAlpha, |
| - ImageDecoder::ColorSpaceTransformed); |
| + m_image = cropImage(input.get(), parsedOptions, PremultiplyAlpha, false); |
| } |
| if (!m_image) |
| return; |