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 3f52af5c1989e40e5c5d3064109bd7d65b023a7b..abdb60b8013e392fd8eeed759bc949e45b1787cb 100644 |
--- a/cc/tiles/software_image_decode_controller.cc |
+++ b/cc/tiles/software_image_decode_controller.cc |
@@ -64,7 +64,9 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
image_key_(image_key), |
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 { |
@@ -76,22 +78,17 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
controller_->DecodeImage(image_key_, image_); |
} |
- // Overridden from TileTask: |
- void ScheduleOnOriginThread(TileTaskClient* client) override {} |
- void CompleteOnOriginThread(TileTaskClient* client) override { |
- controller_->RemovePendingTask(image_key_); |
- } |
- |
protected: |
~ImageDecodeTaskImpl() override {} |
- private: |
+ public: |
SoftwareImageDecodeController* controller_; |
SoftwareImageDecodeController::ImageKey image_key_; |
DrawImage image_; |
skia::RefPtr<const SkImage> image_ref_; |
uint64_t source_prepare_tiles_id_; |
+ private: |
DISALLOW_COPY_AND_ASSIGN(ImageDecodeTaskImpl); |
}; |
@@ -630,6 +627,12 @@ void SoftwareImageDecodeController::DrawWithImageFinished( |
SanityCheckState(__LINE__, false); |
} |
+void SoftwareImageDecodeController::CompleteTask(Task* task) { |
+ ImageDecodeTaskImpl* decode_task = static_cast<ImageDecodeTaskImpl*>(task); |
+ DCHECK(decode_task); |
+ RemovePendingTask(decode_task->image_key_); |
+} |
+ |
void SoftwareImageDecodeController::RefAtRasterImage(const ImageKey& key) { |
TRACE_EVENT1("disabled-by-default-cc.debug", |
"SoftwareImageDecodeController::RefAtRasterImage", "key", |