| Index: cc/resources/raster_worker_pool.h
|
| diff --git a/cc/resources/raster_worker_pool.h b/cc/resources/raster_worker_pool.h
|
| index c868be757903354a754900206cfab8e503970dcf..4e628c4aa5c140f44839d17f6900258d06f32a8d 100644
|
| --- a/cc/resources/raster_worker_pool.h
|
| +++ b/cc/resources/raster_worker_pool.h
|
| @@ -102,6 +102,8 @@ struct RasterTaskMetadata {
|
| class CC_EXPORT RasterWorkerPoolClient {
|
| public:
|
| virtual bool ShouldForceTasksRequiredForActivationToComplete() const = 0;
|
| + virtual void DidFinishedRunningTasks() = 0;
|
| + virtual void DidFinishedRunningTasksRequiredForActivation() = 0;
|
|
|
| protected:
|
| virtual ~RasterWorkerPoolClient() {}
|
| @@ -235,14 +237,15 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
|
| ~RasterTaskGraph();
|
|
|
| void InsertRasterTask(internal::WorkerPoolTask* raster_task,
|
| - const TaskVector& decode_tasks);
|
| + const TaskVector& decode_tasks,
|
| + bool required_for_activation);
|
|
|
| private:
|
| friend class RasterWorkerPool;
|
|
|
| TaskGraph graph_;
|
| - scoped_refptr<internal::WorkerPoolTask> raster_finished_task_;
|
| scoped_ptr<GraphNode> raster_finished_node_;
|
| + scoped_ptr<GraphNode> raster_required_for_activation_finished_node_;
|
| unsigned next_priority_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RasterTaskGraph);
|
| @@ -250,7 +253,8 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
|
|
|
| RasterWorkerPool(ResourceProvider* resource_provider, size_t num_threads);
|
|
|
| - virtual void OnRasterTasksFinished() {}
|
| + virtual void OnRasterTasksFinished() = 0;
|
| + virtual void OnRasterTasksRequiredForActivationFinished() = 0;
|
|
|
| void SetRasterTasks(RasterTask::Queue* queue);
|
| void SetRasterTaskGraph(RasterTaskGraph* graph);
|
| @@ -265,6 +269,8 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
|
|
|
| private:
|
| void OnRasterFinished(int64 schedule_raster_tasks_count);
|
| + void OnRasterRequiredForActivationFinished(
|
| + int64 schedule_raster_tasks_count);
|
|
|
| RasterWorkerPoolClient* client_;
|
| ResourceProvider* resource_provider_;
|
| @@ -273,6 +279,8 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
|
|
|
| base::WeakPtrFactory<RasterWorkerPool> weak_ptr_factory_;
|
| scoped_refptr<internal::WorkerPoolTask> raster_finished_task_;
|
| + scoped_refptr<internal::WorkerPoolTask>
|
| + raster_required_for_activation_finished_task_;
|
| int64 schedule_raster_tasks_count_;
|
| };
|
|
|
|
|