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..3e7ec274699b5324414f90ef6032881209563ec5 100644 |
--- a/cc/resources/pixel_buffer_raster_worker_pool.h |
+++ b/cc/resources/pixel_buffer_raster_worker_pool.h |
@@ -33,19 +33,22 @@ class CC_EXPORT PixelBufferRasterWorkerPool : public RasterWorkerPool { |
PixelBufferRasterWorkerPool(ResourceProvider* resource_provider, |
size_t num_threads); |
- // Overridden from RasterWorkerPool: |
- virtual void OnRasterTasksFinished() OVERRIDE; |
- |
void FlushUploads(); |
void CheckForCompletedUploads(); |
void ScheduleCheckForCompletedRasterTasks(); |
void CheckForCompletedRasterTasks(); |
void ScheduleMoreTasks(); |
+ void OnRasterFinished(int64 schedule_raster_tasks_count); |
+ void OnRasterRequiredForActivationFinished( |
+ int64 schedule_raster_tasks_count); |
void OnRasterTaskCompleted( |
scoped_refptr<internal::RasterWorkerPoolTask> task, |
bool was_canceled, |
bool needs_upload); |
void DidCompleteRasterTask(internal::RasterWorkerPoolTask* task); |
+ unsigned PendingRasterTaskCount() const; |
+ bool NotifyClientThatFinishedRunningTasksRequiredForActivation(); |
+ bool NotifyClientThatFinishedRunningTasks(); |
bool shutdown_; |
@@ -55,11 +58,24 @@ 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_; |
+ base::WeakPtrFactory<PixelBufferRasterWorkerPool> weak_ptr_factory_; |
+ int64 schedule_raster_tasks_count_; |
+ |
+ bool finished_running_tasks_pending_; |
+ bool finished_running_tasks_required_for_activation_pending_; |
+ |
+ scoped_refptr<internal::WorkerPoolTask> raster_finished_task_; |
+ scoped_refptr<internal::WorkerPoolTask> |
+ raster_required_for_activation_finished_task_; |
+ |
DISALLOW_COPY_AND_ASSIGN(PixelBufferRasterWorkerPool); |
}; |