Index: third_party/WebKit/Source/platform/graphics/GradientGeneratedImage.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/GradientGeneratedImage.cpp b/third_party/WebKit/Source/platform/graphics/GradientGeneratedImage.cpp |
index 8cd5c8c4f16f6ccc7b3951eb34c3c55f0a986c51..7aa2382a06e2f04b945e8d991bcdaec41c10ddd8 100644 |
--- a/third_party/WebKit/Source/platform/graphics/GradientGeneratedImage.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/GradientGeneratedImage.cpp |
@@ -32,7 +32,7 @@ |
namespace blink { |
void GradientGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& destRect, |
- const FloatRect& srcRect, RespectImageOrientationEnum, ImageClampingMode) |
+ const FloatRect& srcRect, bool imageSmoothingEnabled, RespectImageOrientationEnum, ImageClampingMode) |
{ |
SkRect visibleSrcRect = srcRect; |
if (!visibleSrcRect.intersect(SkRect::MakeIWH(m_size.width(), m_size.height()))) |
@@ -44,6 +44,10 @@ void GradientGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const |
SkPaint gradientPaint(paint); |
m_gradient->applyToPaint(gradientPaint, transform); |
+ |
+ if (!imageSmoothingEnabled && Image::isDrawScalingDown(visibleSrcRect, visibleDestRect)) |
+ gradientPaint.setFilterQuality(kLow_SkFilterQuality); |
+ |
canvas->drawRect(visibleDestRect, gradientPaint); |
} |