| Index: cc/tiles/tile_task_manager.cc
|
| diff --git a/cc/tiles/tile_task_manager.cc b/cc/tiles/tile_task_manager.cc
|
| index b57b0572d1af978d4b265581b5473f228f351f6d..aa6466ff35de1b30e8348e52564d905c9a00c901 100644
|
| --- a/cc/tiles/tile_task_manager.cc
|
| +++ b/cc/tiles/tile_task_manager.cc
|
| @@ -15,19 +15,25 @@
|
|
|
| // static
|
| std::unique_ptr<TileTaskManagerImpl> TileTaskManagerImpl::Create(
|
| + std::unique_ptr<RasterBufferProvider> raster_buffer_provider,
|
| TaskGraphRunner* task_graph_runner) {
|
| - return base::WrapUnique<TileTaskManagerImpl>(
|
| - new TileTaskManagerImpl(task_graph_runner));
|
| + return base::WrapUnique<TileTaskManagerImpl>(new TileTaskManagerImpl(
|
| + std::move(raster_buffer_provider), task_graph_runner));
|
| }
|
|
|
| -TileTaskManagerImpl::TileTaskManagerImpl(TaskGraphRunner* task_graph_runner)
|
| - : task_graph_runner_(task_graph_runner),
|
| +TileTaskManagerImpl::TileTaskManagerImpl(
|
| + std::unique_ptr<RasterBufferProvider> raster_buffer_provider,
|
| + TaskGraphRunner* task_graph_runner)
|
| + : raster_buffer_provider_(std::move(raster_buffer_provider)),
|
| + task_graph_runner_(task_graph_runner),
|
| namespace_token_(task_graph_runner->GetNamespaceToken()) {}
|
|
|
| TileTaskManagerImpl::~TileTaskManagerImpl() {}
|
|
|
| void TileTaskManagerImpl::ScheduleTasks(TaskGraph* graph) {
|
| TRACE_EVENT0("cc", "TileTaskManagerImpl::ScheduleTasks");
|
| +
|
| + raster_buffer_provider_->OrderingBarrier();
|
| task_graph_runner_->ScheduleTasks(namespace_token_, graph);
|
| }
|
|
|
| @@ -51,6 +57,12 @@
|
| TaskGraph empty;
|
| task_graph_runner_->ScheduleTasks(namespace_token_, &empty);
|
| task_graph_runner_->WaitForTasksToFinishRunning(namespace_token_);
|
| +
|
| + raster_buffer_provider_->Shutdown();
|
| +}
|
| +
|
| +RasterBufferProvider* TileTaskManagerImpl::GetRasterBufferProvider() const {
|
| + return raster_buffer_provider_.get();
|
| }
|
|
|
| } // namespace cc
|
|
|