| 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 f3c28073dd30e1bdb7200873200ca6e45ee08ae3..876206440dc2cb577938222b799dbb2af7041dd2 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
|
| @@ -62,14 +62,14 @@ void CrossfadeGeneratedImage::drawCrossfade(SkCanvas* canvas, const SkPaint& pai
|
| // TODO(junov): This code should probably be propagating the RespectImageOrientationEnum
|
| // form CrossfadeGeneratedImage::draw. Code was 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);
|
| + m_fromImage->draw(canvas, imagePaint, destRect, fromImageRect, true, DoNotRespectImageOrientation, clampMode);
|
| imagePaint.setXfermodeMode(SkXfermode::kPlus_Mode);
|
| imageAlpha = clampedAlphaForBlending(m_percentage);
|
| imagePaint.setAlpha(imageAlpha > 255 ? 255 : imageAlpha);
|
| - m_toImage->draw(canvas, imagePaint, destRect, toImageRect, DoNotRespectImageOrientation, clampMode);
|
| + m_toImage->draw(canvas, imagePaint, destRect, toImageRect, true, DoNotRespectImageOrientation, clampMode);
|
| }
|
|
|
| -void CrossfadeGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& dstRect, const FloatRect& srcRect, RespectImageOrientationEnum, ImageClampingMode clampMode)
|
| +void CrossfadeGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& dstRect, const FloatRect& srcRect, bool imageSmoothingEnabled, RespectImageOrientationEnum, ImageClampingMode clampMode)
|
| {
|
| // Draw nothing if either of the images hasn't loaded yet.
|
| if (m_fromImage == Image::nullImage() || m_toImage == Image::nullImage())
|
| @@ -82,7 +82,11 @@ void CrossfadeGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const
|
| canvas->scale(dstRect.width() / srcRect.width(), dstRect.height() / srcRect.height());
|
| canvas->translate(-srcRect.x(), -srcRect.y());
|
|
|
| - drawCrossfade(canvas, paint, clampMode);
|
| + SkPaint adjustedPaint = paint;
|
| + if (!imageSmoothingEnabled && Image::isDrawScalingDown(srcRect, dstRect))
|
| + adjustedPaint.setFilterQuality(kLow_SkFilterQuality);
|
| +
|
| + drawCrossfade(canvas, adjustedPaint, clampMode);
|
| }
|
|
|
| void CrossfadeGeneratedImage::drawTile(GraphicsContext& context, const FloatRect& srcRect)
|
|
|