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 e06f93acce3174153e6c656448bbfcebadbd8eb9..09fbf3672214664a70bf66dc54bd572d173c87e5 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1937,7 +1937,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(); |
if (!context_provider) { |
@@ -1956,10 +1959,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 (UseZeroCopyRasterizer()) { |
resource_pool_ = ResourcePool::Create( |
resource_provider_.get(), |
@@ -1982,7 +1983,7 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
resource_provider_->best_texture_format()); |
raster_worker_pool_ = |
- OneCopyRasterWorkerPool::Create(proxy_->ImplThreadTaskRunner(), |
+ OneCopyRasterWorkerPool::Create(task_runner, |
RasterWorkerPool::GetTaskGraphRunner(), |
context_provider, |
resource_provider_.get(), |
@@ -1994,7 +1995,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(), |
@@ -2002,12 +2003,11 @@ void LayerTreeHostImpl::CreateAndSetTileManager() { |
settings_.refresh_rate)); |
} |
- 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; |