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 e293a5aa9ad34723305fe31def6293258d0cad95..c476114444ae178cdf1a71c925a30f7f4cdb71e3 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1935,7 +1935,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_ = |
@@ -1947,10 +1950,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_ = |
@@ -1963,7 +1964,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(), |
@@ -1975,7 +1976,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(), |
@@ -1987,17 +1988,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; |