| Index: third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp b/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
|
| index 3d85460343ee69b82b0ae05d01995c03eb727b2f..1e6cd0d353f2492283ad0e586b9cf92707f78ca0 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
|
| @@ -61,7 +61,7 @@ bool StaticBitmapImage::currentFrameKnownToBeOpaque(MetadataMode)
|
| }
|
|
|
| void StaticBitmapImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& dstRect,
|
| - const FloatRect& srcRect, RespectImageOrientationEnum, ImageClampingMode clampMode)
|
| + const FloatRect& srcRect, bool imageSmoothingEnabled, RespectImageOrientationEnum, ImageClampingMode clampMode)
|
| {
|
| FloatRect adjustedSrcRect = srcRect;
|
| adjustedSrcRect.intersect(SkRect::Make(m_image->bounds()));
|
| @@ -69,7 +69,11 @@ void StaticBitmapImage::draw(SkCanvas* canvas, const SkPaint& paint, const Float
|
| if (dstRect.isEmpty() || adjustedSrcRect.isEmpty())
|
| return; // Nothing to draw.
|
|
|
| - canvas->drawImageRect(m_image.get(), adjustedSrcRect, dstRect, &paint,
|
| + SkPaint adjustedPaint = paint;
|
| + if (!imageSmoothingEnabled && Image::isDrawScalingDown(adjustedSrcRect, dstRect))
|
| + adjustedPaint.setFilterQuality(kLow_SkFilterQuality);
|
| +
|
| + canvas->drawImageRect(m_image.get(), adjustedSrcRect, dstRect, &adjustedPaint,
|
| WebCoreClampingModeToSkiaRectConstraint(clampMode));
|
|
|
| if (ImageObserver* observer = getImageObserver())
|
|
|