| Index: cc/raster/image_hijack_canvas.cc
|
| diff --git a/cc/raster/image_hijack_canvas.cc b/cc/raster/image_hijack_canvas.cc
|
| index ea03dfbf6364419dfee5209518ce7af6576e7ee4..a0a8c847835457ec10ed92f6e54f744fd566a1d7 100644
|
| --- a/cc/raster/image_hijack_canvas.cc
|
| +++ b/cc/raster/image_hijack_canvas.cc
|
| @@ -22,13 +22,15 @@ SkIRect RoundOutRect(const SkRect& rect) {
|
| class ScopedDecodedImageLock {
|
| public:
|
| ScopedDecodedImageLock(ImageDecodeCache* image_decode_cache,
|
| - sk_sp<const SkImage> image,
|
| + sk_sp<SkImage> image,
|
| const SkRect& src_rect,
|
| const SkMatrix& matrix,
|
| const SkPaint* paint,
|
| const gfx::ColorSpace& target_color_space)
|
| : image_decode_cache_(image_decode_cache),
|
| - draw_image_(std::move(image),
|
| + // TODO(khushalsagar): Using the wrong id should not be necessary once
|
| + // the hijack canvas is eliminated.
|
| + draw_image_(PaintImage(PaintImage::kUnknownStableId, std::move(image)),
|
| RoundOutRect(src_rect),
|
| paint ? paint->getFilterQuality() : kNone_SkFilterQuality,
|
| matrix,
|
| @@ -133,7 +135,7 @@ const SkImage* GetImageInPaint(const SkPaint& paint) {
|
| ImageHijackCanvas::ImageHijackCanvas(int width,
|
| int height,
|
| ImageDecodeCache* image_decode_cache,
|
| - const ImageIdFlatSet* images_to_skip,
|
| + const SkImageIdFlatSet* images_to_skip,
|
| const gfx::ColorSpace& target_color_space)
|
| : SkNWayCanvas(width, height),
|
| image_decode_cache_(image_decode_cache),
|
| @@ -173,7 +175,7 @@ void ImageHijackCanvas::onDrawImage(const SkImage* image,
|
| SkMatrix ctm = getTotalMatrix();
|
|
|
| ScopedDecodedImageLock scoped_lock(
|
| - image_decode_cache_, sk_ref_sp(image),
|
| + image_decode_cache_, sk_ref_sp(const_cast<SkImage*>(image)),
|
| SkRect::MakeIWH(image->width(), image->height()), ctm, paint,
|
| target_color_space_);
|
| const DecodedDrawImage& decoded_image = scoped_lock.decoded_image();
|
| @@ -223,7 +225,8 @@ void ImageHijackCanvas::onDrawImageRect(const SkImage* image,
|
| matrix.setRectToRect(*src, dst, SkMatrix::kFill_ScaleToFit);
|
| matrix.postConcat(getTotalMatrix());
|
|
|
| - ScopedDecodedImageLock scoped_lock(image_decode_cache_, sk_ref_sp(image),
|
| + ScopedDecodedImageLock scoped_lock(image_decode_cache_,
|
| + sk_ref_sp(const_cast<SkImage*>(image)),
|
| *src, matrix, paint, target_color_space_);
|
| const DecodedDrawImage& decoded_image = scoped_lock.decoded_image();
|
| if (!decoded_image.image())
|
|
|