Chromium Code Reviews| Index: cc/tiles/image_controller.cc |
| diff --git a/cc/tiles/image_controller.cc b/cc/tiles/image_controller.cc |
| index 698dc79e2510b8cf78edfc2239cfde3dff78b49c..6a955d954cfd72935aaf4b21cfde554c2523e065 100644 |
| --- a/cc/tiles/image_controller.cc |
| +++ b/cc/tiles/image_controller.cc |
| @@ -22,6 +22,7 @@ ImageController::ImageController( |
| scoped_refptr<base::SequencedTaskRunner> worker_task_runner) |
| : worker_task_runner_(std::move(worker_task_runner)), |
| origin_task_runner_(origin_task_runner), |
| + paint_image_id_(PaintImage::GetNextId()), |
|
vmpstr
2017/05/12 22:15:42
This is something that we need to talk about I thi
Khushal
2017/05/13 02:45:50
We'll definitely need PaintImage plumbed to cc, in
vmpstr
2017/05/15 15:02:55
My concern is that it doesn't feel that we're clea
Khushal
2017/05/15 21:22:14
ImageHijackCanvas is one use-case. The other one i
|
| weak_ptr_factory_(this) {} |
| ImageController::~ImageController() { |
| @@ -195,8 +196,10 @@ ImageController::ImageDecodeRequestId ImageController::QueueImageDecode( |
| DCHECK(image); |
| bool is_image_lazy = image->isLazyGenerated(); |
| auto image_bounds = image->bounds(); |
| - DrawImage draw_image(std::move(image), image_bounds, kNone_SkFilterQuality, |
| - SkMatrix::I(), target_color_space); |
| + DrawImage draw_image( |
| + PaintImage(paint_image_id_, |
| + sk_ref_sp(const_cast<SkImage*>(image.release()))), |
| + image_bounds, kNone_SkFilterQuality, SkMatrix::I(), target_color_space); |
| // Get the tasks for this decode. |
| scoped_refptr<TileTask> task; |