Index: cc/resources/pixel_buffer_raster_worker_pool.h |
diff --git a/cc/resources/pixel_buffer_raster_worker_pool.h b/cc/resources/pixel_buffer_raster_worker_pool.h |
index be609a832c377906ffde9db88c78f281fff13e5b..7fa692dfd49dd1a0cdb6df8ec691a1f93a4952ed 100644 |
--- a/cc/resources/pixel_buffer_raster_worker_pool.h |
+++ b/cc/resources/pixel_buffer_raster_worker_pool.h |
@@ -28,14 +28,13 @@ class CC_EXPORT PixelBufferRasterWorkerPool : public RasterWorkerPool { |
// Overridden from RasterWorkerPool: |
virtual void ScheduleTasks(RasterTask::Queue* queue) OVERRIDE; |
+ virtual void OnRasterTasksFinished() OVERRIDE; |
+ virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE; |
private: |
PixelBufferRasterWorkerPool(ResourceProvider* resource_provider, |
size_t num_threads); |
- // Overridden from RasterWorkerPool: |
- virtual void OnRasterTasksFinished() OVERRIDE; |
- |
void FlushUploads(); |
void CheckForCompletedUploads(); |
void ScheduleCheckForCompletedRasterTasks(); |
@@ -46,6 +45,9 @@ class CC_EXPORT PixelBufferRasterWorkerPool : public RasterWorkerPool { |
bool was_canceled, |
bool needs_upload); |
void DidCompleteRasterTask(internal::RasterWorkerPoolTask* task); |
+ unsigned NumPendingRasterTasks() const; |
+ void CheckIfFinishedRunningTasks(); |
+ void CheckIfFinishedRunningTasksRequiredForActivation(); |
bool shutdown_; |
@@ -55,11 +57,17 @@ class CC_EXPORT PixelBufferRasterWorkerPool : public RasterWorkerPool { |
TaskDeque tasks_with_pending_upload_; |
TaskDeque completed_tasks_; |
+ typedef std::set<internal::RasterWorkerPoolTask*> TaskSet; |
+ TaskSet tasks_required_for_activation_; |
+ |
size_t bytes_pending_upload_; |
bool has_performed_uploads_since_last_flush_; |
base::CancelableClosure check_for_completed_raster_tasks_callback_; |
bool check_for_completed_raster_tasks_pending_; |
+ bool finished_running_tasks_pending_; |
+ bool finished_running_tasks_required_for_activation_pending_; |
+ |
DISALLOW_COPY_AND_ASSIGN(PixelBufferRasterWorkerPool); |
}; |