Index: cc/tiles/gpu_image_decode_controller.cc |
diff --git a/cc/tiles/gpu_image_decode_controller.cc b/cc/tiles/gpu_image_decode_controller.cc |
index da9bd207010071c937c8c6490c1d6511db1b7ab8..a0d413ef6a6824786e4775da65e6aec0e4f3c13d 100644 |
--- a/cc/tiles/gpu_image_decode_controller.cc |
+++ b/cc/tiles/gpu_image_decode_controller.cc |
@@ -18,7 +18,9 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
: controller_(controller), |
image_(image), |
image_ref_(skia::SharePtr(image.image())), |
- source_prepare_tiles_id_(source_prepare_tiles_id) {} |
+ source_prepare_tiles_id_(source_prepare_tiles_id) { |
+ SetTaskTypeId(kImageDecodeTaskTypeId); |
+ } |
// Overridden from Task: |
void RunOnWorkerThread() override { |
@@ -29,16 +31,11 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
controller_->DecodeImage(image_); |
} |
- // Overridden from TileTask: |
- void ScheduleOnOriginThread(TileTaskClient* client) override {} |
- void CompleteOnOriginThread(TileTaskClient* client) override { |
- controller_->RemovePendingTaskForImage(image_); |
- } |
- |
protected: |
~ImageDecodeTaskImpl() override {} |
private: |
+ friend class GpuImageDecodeController; |
GpuImageDecodeController* controller_; |
DrawImage image_; |
skia::RefPtr<const SkImage> image_ref_; |
@@ -85,6 +82,12 @@ void GpuImageDecodeController::DrawWithImageFinished( |
const DrawImage& image, |
const DecodedDrawImage& decoded_image) {} |
+void GpuImageDecodeController::CompleteTask(Task* task) { |
+ ImageDecodeTaskImpl* decode_task = static_cast<ImageDecodeTaskImpl*>(task); |
+ DCHECK(decode_task); |
+ RemovePendingTaskForImage(decode_task->image_); |
+} |
+ |
void GpuImageDecodeController::ReduceCacheUsage() {} |
void GpuImageDecodeController::DecodeImage(const DrawImage& image) { |