OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 2137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2148 main_frame_events.Pass()); | 2148 main_frame_events.Pass()); |
2149 } | 2149 } |
2150 | 2150 |
2151 void LayerTreeHostImpl::CleanUpTileManager() { | 2151 void LayerTreeHostImpl::CleanUpTileManager() { |
2152 tile_manager_->FinishTasksAndCleanUp(); | 2152 tile_manager_->FinishTasksAndCleanUp(); |
2153 resource_pool_ = nullptr; | 2153 resource_pool_ = nullptr; |
2154 tile_task_worker_pool_ = nullptr; | 2154 tile_task_worker_pool_ = nullptr; |
2155 single_thread_synchronous_task_graph_runner_ = nullptr; | 2155 single_thread_synchronous_task_graph_runner_ = nullptr; |
2156 } | 2156 } |
2157 | 2157 |
2158 bool LayerTreeHostImpl::InitializeRenderer( | 2158 scoped_ptr<OutputSurface> LayerTreeHostImpl::ReleaseOutputSurface() { |
2159 scoped_ptr<OutputSurface> output_surface) { | |
2160 TRACE_EVENT0("cc", "LayerTreeHostImpl::InitializeRenderer"); | |
2161 | |
2162 // Since we will create a new resource provider, we cannot continue to use | 2159 // Since we will create a new resource provider, we cannot continue to use |
2163 // the old resources (i.e. render_surfaces and texture IDs). Clear them | 2160 // the old resources (i.e. render_surfaces and texture IDs). Clear them |
2164 // before we destroy the old resource provider. | 2161 // before we destroy the old resource provider. |
2165 ReleaseTreeResources(); | 2162 ReleaseTreeResources(); |
2166 | 2163 |
2167 // Note: order is important here. | 2164 // Note: order is important here. |
2168 renderer_ = nullptr; | 2165 renderer_ = nullptr; |
2169 CleanUpTileManager(); | 2166 CleanUpTileManager(); |
2170 resource_provider_ = nullptr; | 2167 resource_provider_ = nullptr; |
2171 output_surface_ = nullptr; | |
2172 | 2168 |
| 2169 return output_surface_.Pass(); |
| 2170 } |
| 2171 |
| 2172 bool LayerTreeHostImpl::InitializeRenderer( |
| 2173 scoped_ptr<OutputSurface> output_surface) { |
| 2174 TRACE_EVENT0("cc", "LayerTreeHostImpl::InitializeRenderer"); |
| 2175 |
| 2176 ReleaseOutputSurface(); |
2173 if (!output_surface->BindToClient(this)) { | 2177 if (!output_surface->BindToClient(this)) { |
2174 // Avoid recreating tree resources because we might not have enough | 2178 // Avoid recreating tree resources because we might not have enough |
2175 // information to do this yet (eg. we don't have a TileManager at this | 2179 // information to do this yet (eg. we don't have a TileManager at this |
2176 // point). | 2180 // point). |
2177 return false; | 2181 return false; |
2178 } | 2182 } |
2179 | 2183 |
2180 output_surface_ = output_surface.Pass(); | 2184 output_surface_ = output_surface.Pass(); |
2181 resource_provider_ = ResourceProvider::Create( | 2185 resource_provider_ = ResourceProvider::Create( |
2182 output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_, | 2186 output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_, |
(...skipping 1429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3612 if (active_tree()) { | 3616 if (active_tree()) { |
3613 LayerAnimationValueProvider* layer = active_tree()->LayerById(layer_id); | 3617 LayerAnimationValueProvider* layer = active_tree()->LayerById(layer_id); |
3614 if (layer) | 3618 if (layer) |
3615 return layer->ScrollOffsetForAnimation(); | 3619 return layer->ScrollOffsetForAnimation(); |
3616 } | 3620 } |
3617 | 3621 |
3618 return gfx::ScrollOffset(); | 3622 return gfx::ScrollOffset(); |
3619 } | 3623 } |
3620 | 3624 |
3621 } // namespace cc | 3625 } // namespace cc |
OLD | NEW |