| Index: cc/playback/display_list_raster_source.cc
|
| diff --git a/cc/playback/display_list_raster_source.cc b/cc/playback/display_list_raster_source.cc
|
| index 92d69028d48c4bd7e0c6de5ce409672a464db7cb..349a3bda99ac5fdfbfab3f3701c9c4f2f91cc08c 100644
|
| --- a/cc/playback/display_list_raster_source.cc
|
| +++ b/cc/playback/display_list_raster_source.cc
|
| @@ -293,12 +293,17 @@ void DisplayListRasterSource::PlaybackToCanvas(
|
| PrepareForPlaybackToCanvas(raster_canvas, canvas_bitmap_rect,
|
| canvas_playback_rect, contents_scale);
|
|
|
| - SkImageInfo info = raster_canvas->imageInfo();
|
| - ImageHijackCanvas canvas(info.width(), info.height(),
|
| - image_decode_controller_);
|
| - canvas.addCanvas(raster_canvas);
|
| - RasterCommon(&canvas, NULL, canvas_bitmap_rect, canvas_playback_rect,
|
| - contents_scale);
|
| + if (display_list_->MayHaveDiscardableImages()) {
|
| + const SkImageInfo& info = raster_canvas->imageInfo();
|
| + ImageHijackCanvas canvas(info.width(), info.height(),
|
| + image_decode_controller_);
|
| + canvas.addCanvas(raster_canvas);
|
| + RasterCommon(&canvas, nullptr, canvas_bitmap_rect, canvas_playback_rect,
|
| + contents_scale);
|
| + } else {
|
| + RasterCommon(raster_canvas, nullptr, canvas_bitmap_rect,
|
| + canvas_playback_rect, contents_scale);
|
| + }
|
| }
|
|
|
| void DisplayListRasterSource::PrepareForPlaybackToCanvas(
|
|
|