| Index: Source/core/rendering/RenderHTMLCanvas.cpp
|
| diff --git a/Source/core/rendering/RenderHTMLCanvas.cpp b/Source/core/rendering/RenderHTMLCanvas.cpp
|
| index f2b67c7c8275c3e2f583ad08ce5fe788517aa66c..8e5ad0b1837533a16a10d59f078103ca216102a7 100644
|
| --- a/Source/core/rendering/RenderHTMLCanvas.cpp
|
| +++ b/Source/core/rendering/RenderHTMLCanvas.cpp
|
| @@ -73,8 +73,13 @@ void RenderHTMLCanvas::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& pa
|
| paintInfo.context->clip(pixelSnappedIntRect(contentRect));
|
| }
|
|
|
| - bool useLowQualityScale = style()->imageRendering() == ImageRenderingOptimizeContrast;
|
| - toHTMLCanvasElement(node())->paint(context, paintRect, useLowQualityScale);
|
| + // FIXME: InterpolationNone should be used if ImageRenderingOptimizeContrast is set.
|
| + // See bug for more details: crbug.com/353716.
|
| + InterpolationQuality interpolationQuality = style()->imageRendering() == ImageRenderingOptimizeContrast ? InterpolationLow : CanvasDefaultInterpolationQuality;
|
| + InterpolationQuality previousInterpolationQuality = context->imageInterpolationQuality();
|
| + context->setImageInterpolationQuality(interpolationQuality);
|
| + toHTMLCanvasElement(node())->paint(context, paintRect);
|
| + context->setImageInterpolationQuality(previousInterpolationQuality);
|
|
|
| if (clip)
|
| context->restore();
|
|
|