| 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 dd485ba6b759e709edb3ac1f02311cbdbf6012a8..ea8a29f46560dbaf88d13c08f9247dd7c3da857a 100644
 | 
| --- a/cc/trees/layer_tree_host_impl.cc
 | 
| +++ b/cc/trees/layer_tree_host_impl.cc
 | 
| @@ -1589,11 +1589,13 @@ void LayerTreeHostImpl::SetUseGpuRasterization(bool use_gpu) {
 | 
|    if (use_gpu == use_gpu_rasterization_)
 | 
|      return;
 | 
|  
 | 
| +  // Note that this must happen first, in case the rest of the calls want to
 | 
| +  // query the new state of |use_gpu_rasterization_|.
 | 
|    use_gpu_rasterization_ = use_gpu;
 | 
| -  ReleaseTreeResources();
 | 
|  
 | 
| -  // Replace existing tile manager with another one that uses appropriate
 | 
| -  // rasterizer.
 | 
| +  // Clean up and replace existing tile manager with another one that uses
 | 
| +  // appropriate rasterizer.
 | 
| +  ReleaseTreeResources();
 | 
|    if (tile_manager_) {
 | 
|      DestroyTileManager();
 | 
|      CreateAndSetTileManager();
 | 
| @@ -1964,8 +1966,7 @@ void LayerTreeHostImpl::CreateAndSetTileManager() {
 | 
|                                      : settings_.scheduled_raster_task_limit;
 | 
|    tile_manager_ = TileManager::Create(
 | 
|        this, task_runner, resource_pool_.get(),
 | 
| -      tile_task_worker_pool_->AsTileTaskRunner(),
 | 
| -      rendering_stats_instrumentation_, scheduled_raster_task_limit);
 | 
| +      tile_task_worker_pool_->AsTileTaskRunner(), scheduled_raster_task_limit);
 | 
|  
 | 
|    UpdateTileManagerMemoryPolicy(ActualManagedMemoryPolicy());
 | 
|  }
 | 
| 
 |