| 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.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <stack> | 8 #include <stack> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "cc/base/math_util.h" | 21 #include "cc/base/math_util.h" |
| 22 #include "cc/debug/devtools_instrumentation.h" | 22 #include "cc/debug/devtools_instrumentation.h" |
| 23 #include "cc/debug/rendering_stats_instrumentation.h" | 23 #include "cc/debug/rendering_stats_instrumentation.h" |
| 24 #include "cc/input/top_controls_manager.h" | 24 #include "cc/input/top_controls_manager.h" |
| 25 #include "cc/layers/heads_up_display_layer.h" | 25 #include "cc/layers/heads_up_display_layer.h" |
| 26 #include "cc/layers/heads_up_display_layer_impl.h" | 26 #include "cc/layers/heads_up_display_layer_impl.h" |
| 27 #include "cc/layers/layer.h" | 27 #include "cc/layers/layer.h" |
| 28 #include "cc/layers/layer_iterator.h" | 28 #include "cc/layers/layer_iterator.h" |
| 29 #include "cc/layers/painted_scrollbar_layer.h" | 29 #include "cc/layers/painted_scrollbar_layer.h" |
| 30 #include "cc/layers/render_surface.h" | 30 #include "cc/layers/render_surface.h" |
| 31 #include "cc/output/selection_handle.h" |
| 31 #include "cc/resources/prioritized_resource_manager.h" | 32 #include "cc/resources/prioritized_resource_manager.h" |
| 32 #include "cc/resources/ui_resource_request.h" | 33 #include "cc/resources/ui_resource_request.h" |
| 33 #include "cc/trees/layer_tree_host_client.h" | 34 #include "cc/trees/layer_tree_host_client.h" |
| 34 #include "cc/trees/layer_tree_host_common.h" | 35 #include "cc/trees/layer_tree_host_common.h" |
| 35 #include "cc/trees/layer_tree_host_impl.h" | 36 #include "cc/trees/layer_tree_host_impl.h" |
| 36 #include "cc/trees/layer_tree_impl.h" | 37 #include "cc/trees/layer_tree_impl.h" |
| 37 #include "cc/trees/occlusion_tracker.h" | 38 #include "cc/trees/occlusion_tracker.h" |
| 38 #include "cc/trees/single_thread_proxy.h" | 39 #include "cc/trees/single_thread_proxy.h" |
| 39 #include "cc/trees/thread_proxy.h" | 40 #include "cc/trees/thread_proxy.h" |
| 40 #include "cc/trees/tree_synchronizer.h" | 41 #include "cc/trees/tree_synchronizer.h" |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 if (page_scale_layer_ && inner_viewport_scroll_layer_) { | 322 if (page_scale_layer_ && inner_viewport_scroll_layer_) { |
| 322 sync_tree->SetViewportLayersFromIds( | 323 sync_tree->SetViewportLayersFromIds( |
| 323 page_scale_layer_->id(), | 324 page_scale_layer_->id(), |
| 324 inner_viewport_scroll_layer_->id(), | 325 inner_viewport_scroll_layer_->id(), |
| 325 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() | 326 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() |
| 326 : Layer::INVALID_ID); | 327 : Layer::INVALID_ID); |
| 327 } else { | 328 } else { |
| 328 sync_tree->ClearViewportLayers(); | 329 sync_tree->ClearViewportLayers(); |
| 329 } | 330 } |
| 330 | 331 |
| 332 sync_tree->RegisterSelection( |
| 333 start_selection_layer_ ? start_selection_layer_->id() : 0, |
| 334 start_selection_handle_, |
| 335 end_selection_layer_ ? end_selection_layer_->id() : 0, |
| 336 end_selection_handle_); |
| 337 |
| 331 float page_scale_delta, sent_page_scale_delta; | 338 float page_scale_delta, sent_page_scale_delta; |
| 332 if (settings_.impl_side_painting) { | 339 if (settings_.impl_side_painting) { |
| 333 // Update the delta from the active tree, which may have | 340 // Update the delta from the active tree, which may have |
| 334 // adjusted its delta prior to the pending tree being created. | 341 // adjusted its delta prior to the pending tree being created. |
| 335 // This code is equivalent to that in LayerTreeImpl::SetPageScaleDelta. | 342 // This code is equivalent to that in LayerTreeImpl::SetPageScaleDelta. |
| 336 DCHECK_EQ(1.f, sync_tree->sent_page_scale_delta()); | 343 DCHECK_EQ(1.f, sync_tree->sent_page_scale_delta()); |
| 337 page_scale_delta = host_impl->active_tree()->page_scale_delta(); | 344 page_scale_delta = host_impl->active_tree()->page_scale_delta(); |
| 338 sent_page_scale_delta = host_impl->active_tree()->sent_page_scale_delta(); | 345 sent_page_scale_delta = host_impl->active_tree()->sent_page_scale_delta(); |
| 339 } else { | 346 } else { |
| 340 page_scale_delta = sync_tree->page_scale_delta(); | 347 page_scale_delta = sync_tree->page_scale_delta(); |
| (...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1239 | 1246 |
| 1240 void LayerTreeHost::RegisterViewportLayers( | 1247 void LayerTreeHost::RegisterViewportLayers( |
| 1241 scoped_refptr<Layer> page_scale_layer, | 1248 scoped_refptr<Layer> page_scale_layer, |
| 1242 scoped_refptr<Layer> inner_viewport_scroll_layer, | 1249 scoped_refptr<Layer> inner_viewport_scroll_layer, |
| 1243 scoped_refptr<Layer> outer_viewport_scroll_layer) { | 1250 scoped_refptr<Layer> outer_viewport_scroll_layer) { |
| 1244 page_scale_layer_ = page_scale_layer; | 1251 page_scale_layer_ = page_scale_layer; |
| 1245 inner_viewport_scroll_layer_ = inner_viewport_scroll_layer; | 1252 inner_viewport_scroll_layer_ = inner_viewport_scroll_layer; |
| 1246 outer_viewport_scroll_layer_ = outer_viewport_scroll_layer; | 1253 outer_viewport_scroll_layer_ = outer_viewport_scroll_layer; |
| 1247 } | 1254 } |
| 1248 | 1255 |
| 1256 void LayerTreeHost::RegisterSelection(scoped_refptr<Layer> start_layer, |
| 1257 const SelectionHandle& start_handle, |
| 1258 scoped_refptr<Layer> end_layer, |
| 1259 const SelectionHandle& end_handle) { |
| 1260 if (start_selection_layer_.get() == start_layer.get() && |
| 1261 end_selection_layer_.get() == end_layer.get() && |
| 1262 start_selection_handle_ == start_handle && |
| 1263 end_selection_handle_ == end_handle) |
| 1264 return; |
| 1265 |
| 1266 start_selection_layer_ = start_layer; |
| 1267 end_selection_layer_ = end_layer; |
| 1268 start_selection_handle_ = start_handle; |
| 1269 end_selection_handle_ = end_handle; |
| 1270 SetNeedsCommit(); |
| 1271 } |
| 1272 |
| 1249 int LayerTreeHost::ScheduleMicroBenchmark( | 1273 int LayerTreeHost::ScheduleMicroBenchmark( |
| 1250 const std::string& benchmark_name, | 1274 const std::string& benchmark_name, |
| 1251 scoped_ptr<base::Value> value, | 1275 scoped_ptr<base::Value> value, |
| 1252 const MicroBenchmark::DoneCallback& callback) { | 1276 const MicroBenchmark::DoneCallback& callback) { |
| 1253 return micro_benchmark_controller_.ScheduleRun( | 1277 return micro_benchmark_controller_.ScheduleRun( |
| 1254 benchmark_name, value.Pass(), callback); | 1278 benchmark_name, value.Pass(), callback); |
| 1255 } | 1279 } |
| 1256 | 1280 |
| 1257 bool LayerTreeHost::SendMessageToMicroBenchmark(int id, | 1281 bool LayerTreeHost::SendMessageToMicroBenchmark(int id, |
| 1258 scoped_ptr<base::Value> value) { | 1282 scoped_ptr<base::Value> value) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1280 swap_promise_list_.push_back(swap_promise.Pass()); | 1304 swap_promise_list_.push_back(swap_promise.Pass()); |
| 1281 } | 1305 } |
| 1282 | 1306 |
| 1283 void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) { | 1307 void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) { |
| 1284 for (size_t i = 0; i < swap_promise_list_.size(); i++) | 1308 for (size_t i = 0; i < swap_promise_list_.size(); i++) |
| 1285 swap_promise_list_[i]->DidNotSwap(reason); | 1309 swap_promise_list_[i]->DidNotSwap(reason); |
| 1286 swap_promise_list_.clear(); | 1310 swap_promise_list_.clear(); |
| 1287 } | 1311 } |
| 1288 | 1312 |
| 1289 } // namespace cc | 1313 } // namespace cc |
| OLD | NEW |