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 |