Index: cc/resources/raster_worker_pool_perftest.cc |
diff --git a/cc/resources/raster_worker_pool_perftest.cc b/cc/resources/raster_worker_pool_perftest.cc |
index f99184554e7ab5e567296f7d5bb6078b46a982e7..c8f1d8479c72c8a25e0fbff4fede81437a935d27 100644 |
--- a/cc/resources/raster_worker_pool_perftest.cc |
+++ b/cc/resources/raster_worker_pool_perftest.cc |
@@ -38,6 +38,12 @@ class PerfRasterWorkerPool : public RasterWorkerPool { |
virtual void ScheduleTasks(RasterTask::Queue* queue) OVERRIDE { |
NOTREACHED(); |
} |
+ virtual void OnRasterTasksFinished() OVERRIDE { |
+ NOTREACHED(); |
+ } |
+ virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE { |
+ NOTREACHED(); |
+ } |
void SetRasterTasks(RasterTask::Queue* queue) { |
RasterWorkerPool::SetRasterTasks(queue); |
@@ -56,7 +62,24 @@ class PerfRasterWorkerPool : public RasterWorkerPool { |
} |
void BuildTaskGraph() { |
- RasterTaskGraph graph; |
+ unsigned priority = 0; |
+ TaskGraph graph; |
+ |
+ scoped_refptr<internal::WorkerPoolTask> |
+ raster_required_for_activation_finished_task( |
+ CreateRasterRequiredForActivationFinishedTask()); |
+ internal::GraphNode* raster_required_for_activation_finished_node = |
+ CreateGraphNodeForTask( |
+ raster_required_for_activation_finished_task.get(), |
+ priority++, |
+ &graph); |
+ |
+ scoped_refptr<internal::WorkerPoolTask> raster_finished_task( |
+ CreateRasterFinishedTask()); |
+ internal::GraphNode* raster_finished_node = |
+ CreateGraphNodeForTask(raster_finished_task.get(), |
+ priority++, |
+ &graph); |
for (RasterTaskVector::const_iterator it = raster_tasks().begin(); |
it != raster_tasks().end(); ++it) { |
@@ -66,7 +89,21 @@ class PerfRasterWorkerPool : public RasterWorkerPool { |
DCHECK(perf_it != perf_tasks_.end()); |
if (perf_it != perf_tasks_.end()) { |
internal::WorkerPoolTask* perf_task = perf_it->second.get(); |
- graph.InsertRasterTask(perf_task, task->dependencies()); |
+ |
+ internal::GraphNode* perf_node = |
+ CreateGraphNodeForRasterTask(perf_task, |
+ task->dependencies(), |
+ priority++, |
+ &graph); |
+ |
+ if (IsRasterTaskRequiredForActivation(task)) { |
+ raster_required_for_activation_finished_node->add_dependency(); |
+ perf_node->add_dependent( |
+ raster_required_for_activation_finished_node); |
+ } |
+ |
+ raster_finished_node->add_dependency(); |
+ perf_node->add_dependent(raster_finished_node); |
} |
} |
} |