| 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..7293aa99d7486d83923b3e51747f263c29c12283 100644
|
| --- a/cc/tiles/tile_task_manager.cc
|
| +++ b/cc/tiles/tile_task_manager.cc
|
| @@ -28,44 +28,25 @@ 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();
|
| }
|
|
|
| void TileTaskManagerImpl::Shutdown() {
|
|
|