| Index: cc/tiles/software_image_decode_controller.cc
|
| diff --git a/cc/tiles/software_image_decode_controller.cc b/cc/tiles/software_image_decode_controller.cc
|
| index f05bb5d01adb4a5932aa94e9908e3d877fef4c2f..80190b4c2a6b36d7362faf8d507b0fa358f9663f 100644
|
| --- a/cc/tiles/software_image_decode_controller.cc
|
| +++ b/cc/tiles/software_image_decode_controller.cc
|
| @@ -41,7 +41,7 @@ class AutoRemoveKeyFromTaskMap {
|
| public:
|
| AutoRemoveKeyFromTaskMap(
|
| std::unordered_map<SoftwareImageDecodeController::ImageKey,
|
| - scoped_refptr<ImageDecodeTask>,
|
| + scoped_refptr<TileTask>,
|
| SoftwareImageDecodeController::ImageKeyHash>* task_map,
|
| const SoftwareImageDecodeController::ImageKey& key)
|
| : task_map_(task_map), key_(key) {}
|
| @@ -49,18 +49,19 @@ class AutoRemoveKeyFromTaskMap {
|
|
|
| private:
|
| std::unordered_map<SoftwareImageDecodeController::ImageKey,
|
| - scoped_refptr<ImageDecodeTask>,
|
| + scoped_refptr<TileTask>,
|
| SoftwareImageDecodeController::ImageKeyHash>* task_map_;
|
| SoftwareImageDecodeController::ImageKey key_;
|
| };
|
|
|
| -class ImageDecodeTaskImpl : public ImageDecodeTask {
|
| +class ImageDecodeTaskImpl : public TileTask {
|
| public:
|
| ImageDecodeTaskImpl(SoftwareImageDecodeController* controller,
|
| const SoftwareImageDecodeController::ImageKey& image_key,
|
| const DrawImage& image,
|
| uint64_t source_prepare_tiles_id)
|
| - : controller_(controller),
|
| + : TileTask(true),
|
| + controller_(controller),
|
| image_key_(image_key),
|
| image_(image),
|
| image_ref_(skia::SharePtr(image.image())),
|
| @@ -152,7 +153,7 @@ SoftwareImageDecodeController::~SoftwareImageDecodeController() {
|
| bool SoftwareImageDecodeController::GetTaskForImageAndRef(
|
| const DrawImage& image,
|
| uint64_t prepare_tiles_id,
|
| - scoped_refptr<ImageDecodeTask>* task) {
|
| + scoped_refptr<TileTask>* task) {
|
| // If the image already exists or if we're going to create a task for it, then
|
| // we'll likely need to ref this image (the exception is if we're prerolling
|
| // the image only). That means the image is or will be in the cache. When the
|
| @@ -179,7 +180,7 @@ bool SoftwareImageDecodeController::GetTaskForImageAndRef(
|
| if (!CanHandleImage(key)) {
|
| base::AutoLock lock(lock_);
|
| if (prerolled_images_.count(key.image_id()) == 0) {
|
| - scoped_refptr<ImageDecodeTask>& existing_task = pending_image_tasks_[key];
|
| + scoped_refptr<TileTask>& existing_task = pending_image_tasks_[key];
|
| if (!existing_task) {
|
| existing_task = make_scoped_refptr(
|
| new ImageDecodeTaskImpl(this, key, image, prepare_tiles_id));
|
| @@ -212,7 +213,7 @@ bool SoftwareImageDecodeController::GetTaskForImageAndRef(
|
| }
|
|
|
| // If the task exists, return it.
|
| - scoped_refptr<ImageDecodeTask>& existing_task = pending_image_tasks_[key];
|
| + scoped_refptr<TileTask>& existing_task = pending_image_tasks_[key];
|
| if (existing_task) {
|
| RefImage(key);
|
| *task = existing_task;
|
|
|