Index: cc/raster_worker_pool.cc |
diff --git a/cc/raster_worker_pool.cc b/cc/raster_worker_pool.cc |
index bc6e50e7084ad8c9e94ca42afe7b098b107a7f92..aa3df22e6526c9416e384db2ebf6f56c68a8cfc0 100644 |
--- a/cc/raster_worker_pool.cc |
+++ b/cc/raster_worker_pool.cc |
@@ -14,7 +14,7 @@ class RasterWorkerPoolTaskImpl : public internal::WorkerPoolTask { |
public: |
RasterWorkerPoolTaskImpl(PicturePileImpl* picture_pile, |
const RasterWorkerPool::RasterCallback& task, |
- const base::Closure& reply) |
+ const base::Callback<void(bool)>& reply) |
: internal::WorkerPoolTask(reply), |
picture_pile_(picture_pile), |
task_(task) { |
@@ -23,6 +23,7 @@ class RasterWorkerPoolTaskImpl : public internal::WorkerPoolTask { |
virtual void Run(RenderingStats* rendering_stats) OVERRIDE { |
task_.Run(picture_pile_.get(), rendering_stats); |
+ base::subtle::Release_Store(&completed_, 1); |
} |
private: |
@@ -41,7 +42,7 @@ RasterWorkerPool::~RasterWorkerPool() { |
void RasterWorkerPool::PostRasterTaskAndReply(PicturePileImpl* picture_pile, |
const RasterCallback& task, |
- const base::Closure& reply) { |
+ const Reply& reply) { |
Worker* worker = GetWorkerForNextTask(); |
scoped_refptr<PicturePileImpl> picture_pile_clone = |