| Index: cc/playback/raster_source.cc
|
| diff --git a/cc/playback/raster_source.cc b/cc/playback/raster_source.cc
|
| index ab0fd5a333269e4e56a1d4e113166c48b28174cf..7f8606c919eba83cc6e76a3e1ecc053ecef9691b 100644
|
| --- a/cc/playback/raster_source.cc
|
| +++ b/cc/playback/raster_source.cc
|
| @@ -103,8 +103,14 @@ void RasterSource::PlaybackToCanvas(SkCanvas* raster_canvas,
|
| } else if (settings.use_image_hijack_canvas &&
|
| display_list_->MayHaveDiscardableImages()) {
|
| const SkImageInfo& info = raster_canvas->imageInfo();
|
| +
|
| ImageHijackCanvas canvas(info.width(), info.height(),
|
| image_decode_controller_);
|
| + // Before adding the canvas, make sure that the ImageHijackCanvas is aware
|
| + // of the current transform, which may affect the clip bounds. Since we
|
| + // query the clip bounds of the current canvas to get the list of draw
|
| + // commands to process, this is important to produce correct content.
|
| + canvas.setMatrix(raster_canvas->getTotalMatrix());
|
| canvas.addCanvas(raster_canvas);
|
|
|
| RasterCommon(&canvas, nullptr, canvas_bitmap_rect, canvas_playback_rect,
|
|
|