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 e0d2e26149d089785fae8fb3c501d32b5147a309..4817b875aef0d4ab3699e582380e5b8d63b715d0 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1936,7 +1936,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) { |
@@ -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 (UseZeroCopyRasterizer()) { |
resource_pool_ = ResourcePool::Create( |
resource_provider_.get(), |
@@ -1981,7 +1982,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(), |
@@ -1993,7 +1994,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(), |
@@ -2001,12 +2002,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; |