| Index: cc/playback/image_hijack_canvas.cc
|
| diff --git a/cc/playback/image_hijack_canvas.cc b/cc/playback/image_hijack_canvas.cc
|
| index d0c5c5c72b519bfdeada973b1fedfdcfee6f3dd9..8927f79ddce96c6a02e5e8218f1abef19f2cb4ae 100644
|
| --- a/cc/playback/image_hijack_canvas.cc
|
| +++ b/cc/playback/image_hijack_canvas.cc
|
| @@ -23,11 +23,13 @@ class ScopedDecodedImageLock {
|
| const SkImage* image,
|
| const SkRect& src_rect,
|
| const SkMatrix& matrix,
|
| - const SkPaint* paint)
|
| + const SkPaint* paint,
|
| + SkFilterQuality max_quality)
|
| : image_decode_controller_(image_decode_controller),
|
| draw_image_(image,
|
| RoundOutRect(src_rect),
|
| - paint ? paint->getFilterQuality() : kNone_SkFilterQuality,
|
| + paint ? std::min(max_quality, paint->getFilterQuality())
|
| + : kNone_SkFilterQuality,
|
| matrix),
|
| decoded_draw_image_(
|
| image_decode_controller_->GetDecodedImageForDraw(draw_image_)) {
|
| @@ -58,9 +60,11 @@ class ScopedDecodedImageLock {
|
| ImageHijackCanvas::ImageHijackCanvas(
|
| int width,
|
| int height,
|
| - ImageDecodeController* image_decode_controller)
|
| + ImageDecodeController* image_decode_controller,
|
| + SkFilterQuality max_quality)
|
| : SkNWayCanvas(width, height),
|
| - image_decode_controller_(image_decode_controller) {}
|
| + image_decode_controller_(image_decode_controller),
|
| + max_quality_(max_quality) {}
|
|
|
| void ImageHijackCanvas::onDrawPicture(const SkPicture* picture,
|
| const SkMatrix* matrix,
|
| @@ -83,7 +87,8 @@ void ImageHijackCanvas::onDrawImage(const SkImage* image,
|
|
|
| ScopedDecodedImageLock scoped_lock(
|
| image_decode_controller_, image,
|
| - SkRect::MakeIWH(image->width(), image->height()), ctm, paint);
|
| + SkRect::MakeIWH(image->width(), image->height()), ctm, paint,
|
| + max_quality_);
|
| const DecodedDrawImage& decoded_image = scoped_lock.decoded_image();
|
| if (!decoded_image.image())
|
| return;
|
| @@ -123,7 +128,7 @@ void ImageHijackCanvas::onDrawImageRect(const SkImage* image,
|
| matrix.postConcat(getTotalMatrix());
|
|
|
| ScopedDecodedImageLock scoped_lock(image_decode_controller_, image, *src,
|
| - matrix, paint);
|
| + matrix, paint, max_quality_);
|
| const DecodedDrawImage& decoded_image = scoped_lock.decoded_image();
|
| if (!decoded_image.image())
|
| return;
|
|
|