| Index: third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp b/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
|
| index 453ce6a4c6a1b1c64ccb5e3b011e6e69949bce74..157544d1caa7d3d780140e283397b33892abbc43 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
|
| @@ -41,9 +41,11 @@ CrossfadeGeneratedImage::CrossfadeGeneratedImage(PassRefPtr<Image> fromImage,
|
| m_percentage(percentage),
|
| m_crossfadeSize(crossfadeSize) {}
|
|
|
| -void CrossfadeGeneratedImage::drawCrossfade(SkCanvas* canvas,
|
| - const SkPaint& paint,
|
| - ImageClampingMode clampMode) {
|
| +void CrossfadeGeneratedImage::drawCrossfade(
|
| + SkCanvas* canvas,
|
| + const SkPaint& paint,
|
| + ImageClampingMode clampMode,
|
| + const ColorBehavior& colorBehavior) {
|
| FloatRect fromImageRect(FloatPoint(), FloatSize(m_fromImage->size()));
|
| FloatRect toImageRect(FloatPoint(), FloatSize(m_toImage->size()));
|
| FloatRect destRect((FloatPoint()), FloatSize(m_crossfadeSize));
|
| @@ -67,12 +69,12 @@ void CrossfadeGeneratedImage::drawCrossfade(SkCanvas* canvas,
|
| // written this way during refactoring to avoid modifying existing behavior,
|
| // but this warrants further investigation. crbug.com/472634
|
| m_fromImage->draw(canvas, imagePaint, destRect, fromImageRect,
|
| - DoNotRespectImageOrientation, clampMode);
|
| + DoNotRespectImageOrientation, clampMode, colorBehavior);
|
| imagePaint.setBlendMode(SkBlendMode::kPlus);
|
| imageAlpha = clampedAlphaForBlending(m_percentage);
|
| imagePaint.setAlpha(imageAlpha > 255 ? 255 : imageAlpha);
|
| m_toImage->draw(canvas, imagePaint, destRect, toImageRect,
|
| - DoNotRespectImageOrientation, clampMode);
|
| + DoNotRespectImageOrientation, clampMode, colorBehavior);
|
| }
|
|
|
| void CrossfadeGeneratedImage::draw(SkCanvas* canvas,
|
| @@ -80,7 +82,8 @@ void CrossfadeGeneratedImage::draw(SkCanvas* canvas,
|
| const FloatRect& dstRect,
|
| const FloatRect& srcRect,
|
| RespectImageOrientationEnum,
|
| - ImageClampingMode clampMode) {
|
| + ImageClampingMode clampMode,
|
| + const ColorBehavior& colorBehavior) {
|
| // Draw nothing if either of the images hasn't loaded yet.
|
| if (m_fromImage == Image::nullImage() || m_toImage == Image::nullImage())
|
| return;
|
| @@ -93,7 +96,7 @@ void CrossfadeGeneratedImage::draw(SkCanvas* canvas,
|
| dstRect.height() / srcRect.height());
|
| canvas->translate(-srcRect.x(), -srcRect.y());
|
|
|
| - drawCrossfade(canvas, paint, clampMode);
|
| + drawCrossfade(canvas, paint, clampMode, colorBehavior);
|
| }
|
|
|
| void CrossfadeGeneratedImage::drawTile(GraphicsContext& context,
|
| @@ -107,7 +110,8 @@ void CrossfadeGeneratedImage::drawTile(GraphicsContext& context,
|
| paint.setAntiAlias(context.shouldAntialias());
|
| FloatRect destRect((FloatPoint()), FloatSize(m_crossfadeSize));
|
| paint.setFilterQuality(context.computeFilterQuality(this, destRect, srcRect));
|
| - drawCrossfade(context.canvas(), paint, ClampImageToSourceRect);
|
| + drawCrossfade(context.canvas(), paint, ClampImageToSourceRect,
|
| + context.getColorBehavior());
|
| }
|
|
|
| } // namespace blink
|
|
|