Chromium Code Reviews| 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 86d1bb2c5749430e57378a3a8b49f2c00e14fcde..7d3a75afa636a50566822443301e16f12a3386c2 100644 |
| --- a/cc/tiles/software_image_decode_controller.cc |
| +++ b/cc/tiles/software_image_decode_controller.cc |
| @@ -62,7 +62,7 @@ class ImageDecodeTaskImpl : public TileTask { |
| const SoftwareImageDecodeController::ImageKey& image_key, |
| const DrawImage& image, |
| const ImageDecodeController::TracingInfo& tracing_info) |
| - : TileTask(true), |
| + : TileTask(TileTask::Type::IMAGE_DECODE, true), |
| controller_(controller), |
| image_key_(image_key), |
| image_(image), |
| @@ -78,21 +78,16 @@ class ImageDecodeTaskImpl : public TileTask { |
| controller_->DecodeImage(image_key_, image_); |
| } |
| - // Overridden from TileTask: |
| - void ScheduleOnOriginThread(RasterBufferProvider* provider) override {} |
| - void CompleteOnOriginThread(RasterBufferProvider* provider) override { |
| - controller_->RemovePendingTask(image_key_); |
| - } |
| - |
| protected: |
| ~ImageDecodeTaskImpl() override {} |
| - private: |
| + public: |
|
vmpstr
2016/05/18 19:08:34
Why are these public? This doesn't look correct.
prashant.n
2016/05/19 00:59:52
Yes. This looks odd and not good as this class is
|
| SoftwareImageDecodeController* controller_; |
| SoftwareImageDecodeController::ImageKey image_key_; |
| DrawImage image_; |
| const ImageDecodeController::TracingInfo tracing_info_; |
| + private: |
| DISALLOW_COPY_AND_ASSIGN(ImageDecodeTaskImpl); |
| }; |
| @@ -723,6 +718,12 @@ void SoftwareImageDecodeController::ReduceCacheUsage() { |
| } |
| } |
| +void SoftwareImageDecodeController::OnImageDecodeTaskCompleted(TileTask* task) { |
| + ImageDecodeTaskImpl* decode_task = static_cast<ImageDecodeTaskImpl*>(task); |
|
vmpstr
2016/05/18 19:08:34
I think we should rework this so we don't need a s
prashant.n
2016/05/19 00:59:52
I'll check this. static cast was added for downcas
|
| + DCHECK(decode_task); |
| + RemovePendingTask(decode_task->image_key_); |
| +} |
| + |
| void SoftwareImageDecodeController::RemovePendingTask(const ImageKey& key) { |
| base::AutoLock lock(lock_); |
| pending_image_tasks_.erase(key); |