Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index f819ae837771ce7ebff8d0a359639f5c9c7e0a49..38e7a52fb27c45b363d47a0d65f0862bc70d6c6b 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1943,7 +1943,10 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
DCHECK(settings_.impl_side_painting); |
DCHECK(output_surface_); |
DCHECK(resource_provider_); |
- DCHECK(proxy_->ImplThreadTaskRunner()); |
+ base::SingleThreadTaskRunner* task_runner = |
+ proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner() |
+ : proxy_->MainThreadTaskRunner(); |
+ DCHECK(task_runner); |
ContextProvider* context_provider = output_surface_->context_provider(); |
transfer_buffer_memory_limit_ = |
@@ -1955,10 +1958,8 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
GL_TEXTURE_2D, |
resource_provider_->best_texture_format()); |
- raster_worker_pool_ = |
- GpuRasterWorkerPool::Create(proxy_->ImplThreadTaskRunner(), |
- context_provider, |
- resource_provider_.get()); |
+ raster_worker_pool_ = GpuRasterWorkerPool::Create( |
+ task_runner, context_provider, resource_provider_.get()); |
} else if (UseOneCopyTextureUpload() && context_provider) { |
// We need to create a staging resource pool when using copy rasterizer. |
staging_resource_pool_ = |
@@ -1971,7 +1972,7 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
resource_provider_->best_texture_format()); |
raster_worker_pool_ = ImageCopyRasterWorkerPool::Create( |
- proxy_->ImplThreadTaskRunner(), |
+ task_runner, |
RasterWorkerPool::GetTaskGraphRunner(), |
context_provider, |
resource_provider_.get(), |
@@ -1983,7 +1984,7 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
resource_provider_->memory_efficient_texture_format()); |
raster_worker_pool_ = PixelBufferRasterWorkerPool::Create( |
- proxy_->ImplThreadTaskRunner(), |
+ task_runner, |
RasterWorkerPool::GetTaskGraphRunner(), |
context_provider, |
resource_provider_.get(), |
@@ -1995,17 +1996,16 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
resource_provider_->best_texture_format()); |
raster_worker_pool_ = |
- ImageRasterWorkerPool::Create(proxy_->ImplThreadTaskRunner(), |
+ ImageRasterWorkerPool::Create(task_runner, |
RasterWorkerPool::GetTaskGraphRunner(), |
resource_provider_.get()); |
} |
- tile_manager_ = |
- TileManager::Create(this, |
- proxy_->ImplThreadTaskRunner(), |
- resource_pool_.get(), |
- raster_worker_pool_->AsRasterizer(), |
- rendering_stats_instrumentation_); |
+ tile_manager_ = TileManager::Create(this, |
+ task_runner, |
+ resource_pool_.get(), |
+ raster_worker_pool_->AsRasterizer(), |
+ rendering_stats_instrumentation_); |
UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy()); |
need_to_update_visible_tiles_before_draw_ = false; |