Chromium Code Reviews| Index: cc/tiles/tile_task_manager.cc |
| diff --git a/cc/tiles/tile_task_manager.cc b/cc/tiles/tile_task_manager.cc |
| index 9f78d388eb4d22808abc89635e94cae88bb49883..d9dc9e1948be27c7064a58acbd351292e507045b 100644 |
| --- a/cc/tiles/tile_task_manager.cc |
| +++ b/cc/tiles/tile_task_manager.cc |
| @@ -28,44 +28,27 @@ TileTaskManagerImpl::TileTaskManagerImpl( |
| task_graph_runner_(task_graph_runner), |
| namespace_token_(task_graph_runner->GetNamespaceToken()) {} |
| -TileTaskManagerImpl::~TileTaskManagerImpl() { |
| - DCHECK_EQ(0u, completed_tasks_.size()); |
| -} |
| +TileTaskManagerImpl::~TileTaskManagerImpl() {} |
| void TileTaskManagerImpl::ScheduleTasks(TaskGraph* graph) { |
| TRACE_EVENT0("cc", "TileTaskManagerImpl::ScheduleTasks"); |
| - for (TaskGraph::Node::Vector::iterator it = graph->nodes.begin(); |
| - it != graph->nodes.end(); ++it) { |
| - TaskGraph::Node& node = *it; |
| - TileTask* task = static_cast<TileTask*>(node.task); |
| - |
| - if (!task->HasBeenScheduled()) { |
| - task->WillSchedule(); |
| - task->ScheduleOnOriginThread(raster_buffer_provider_.get()); |
| - task->DidSchedule(); |
| - } |
| - } |
| - |
| raster_buffer_provider_->OrderingBarrier(); |
| - |
| task_graph_runner_->ScheduleTasks(namespace_token_, graph); |
| } |
| void TileTaskManagerImpl::CheckForCompletedTasks() { |
| TRACE_EVENT0("cc", "TileTaskManagerImpl::CheckForCompletedTasks"); |
| + Task::Vector completed_tasks; |
| + task_graph_runner_->CollectCompletedTasks(namespace_token_, &completed_tasks); |
| - task_graph_runner_->CollectCompletedTasks(namespace_token_, |
| - &completed_tasks_); |
| - for (Task::Vector::const_iterator it = completed_tasks_.begin(); |
| - it != completed_tasks_.end(); ++it) { |
| - TileTask* task = static_cast<TileTask*>(it->get()); |
| - |
| - task->WillComplete(); |
| - task->CompleteOnOriginThread(raster_buffer_provider_.get()); |
| - task->DidComplete(); |
| + for (auto& task : completed_tasks) { |
| + DCHECK(task->state().IsFinished() || task->state().IsCanceled()); |
| + TileTask* tile_task = static_cast<TileTask*>(task.get()); |
| + tile_task->OnTaskCompleted(); |
| } |
| - completed_tasks_.clear(); |
| + |
| + completed_tasks.clear(); |
|
vmpstr
2016/05/21 00:02:14
you don't need this.
prashant.n
2016/05/21 00:51:45
Hmm.
|
| } |
| void TileTaskManagerImpl::Shutdown() { |