Index: third_party/WebKit/Source/platform/graphics/BitmapImage.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp |
index 17d815c5049c96f11bf0829b3427eecc716e092f..130fd8b6bd3df9c02e59b6a9c63d0613027e49ae 100644 |
--- a/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp |
@@ -235,7 +235,7 @@ String BitmapImage::filenameExtension() const |
return m_source.filenameExtension(); |
} |
-void BitmapImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& dstRect, const FloatRect& srcRect, RespectImageOrientationEnum shouldRespectImageOrientation, ImageClampingMode clampMode) |
+void BitmapImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& dstRect, const FloatRect& srcRect, bool imageSmoothingEnabled, RespectImageOrientationEnum shouldRespectImageOrientation, ImageClampingMode clampMode) |
{ |
TRACE_EVENT0("skia", "BitmapImage::draw"); |
@@ -271,7 +271,11 @@ void BitmapImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& |
} |
} |
- canvas->drawImageRect(image.get(), adjustedSrcRect, adjustedDstRect, &paint, |
+ SkPaint adjustedPaint = paint; |
+ if (!imageSmoothingEnabled && Image::isDrawScalingDown(adjustedSrcRect, adjustedDstRect)) |
+ adjustedPaint.setFilterQuality(kLow_SkFilterQuality); |
+ |
+ canvas->drawImageRect(image.get(), adjustedSrcRect, adjustedDstRect, &adjustedPaint, |
WebCoreClampingModeToSkiaRectConstraint(clampMode)); |
if (image->isLazyGenerated()) |