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_impl.h" | 5 #include "cc/trees/layer_tree_impl.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 min_page_scale_factor_(0), | 85 min_page_scale_factor_(0), |
86 max_page_scale_factor_(0), | 86 max_page_scale_factor_(0), |
87 scrolling_layer_id_from_previous_tree_(0), | 87 scrolling_layer_id_from_previous_tree_(0), |
88 contents_textures_purged_(false), | 88 contents_textures_purged_(false), |
89 requires_high_res_to_draw_(false), | 89 requires_high_res_to_draw_(false), |
90 viewport_size_invalid_(false), | 90 viewport_size_invalid_(false), |
91 needs_update_draw_properties_(true), | 91 needs_update_draw_properties_(true), |
92 needs_full_tree_sync_(true), | 92 needs_full_tree_sync_(true), |
93 next_activation_forces_redraw_(false), | 93 next_activation_forces_redraw_(false), |
94 has_ever_been_drawn_(false), | 94 has_ever_been_drawn_(false), |
95 render_surface_layer_list_id_(0) { | 95 render_surface_layer_list_id_(0), |
| 96 top_controls_layout_height_(0), |
| 97 top_controls_top_offset_(0), |
| 98 top_controls_delta_(0), |
| 99 sent_top_controls_delta_(0) { |
96 } | 100 } |
97 | 101 |
98 LayerTreeImpl::~LayerTreeImpl() { | 102 LayerTreeImpl::~LayerTreeImpl() { |
99 BreakSwapPromises(SwapPromise::SWAP_FAILS); | 103 BreakSwapPromises(SwapPromise::SWAP_FAILS); |
100 | 104 |
101 // Need to explicitly clear the tree prior to destroying this so that | 105 // Need to explicitly clear the tree prior to destroying this so that |
102 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor. | 106 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor. |
103 DCHECK(!root_layer_); | 107 DCHECK(!root_layer_); |
104 DCHECK(layers_with_copy_output_request_.empty()); | 108 DCHECK(layers_with_copy_output_request_.empty()); |
105 } | 109 } |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 // The request queue should have been processed and does not require a push. | 197 // The request queue should have been processed and does not require a push. |
194 DCHECK_EQ(ui_resource_request_queue_.size(), 0u); | 198 DCHECK_EQ(ui_resource_request_queue_.size(), 0u); |
195 | 199 |
196 if (next_activation_forces_redraw_) { | 200 if (next_activation_forces_redraw_) { |
197 target_tree->ForceRedrawNextActivation(); | 201 target_tree->ForceRedrawNextActivation(); |
198 next_activation_forces_redraw_ = false; | 202 next_activation_forces_redraw_ = false; |
199 } | 203 } |
200 | 204 |
201 target_tree->PassSwapPromises(&swap_promise_list_); | 205 target_tree->PassSwapPromises(&swap_promise_list_); |
202 | 206 |
| 207 target_tree->top_controls_layout_height_ = top_controls_layout_height_; |
| 208 target_tree->top_controls_top_offset_ = top_controls_top_offset_; |
| 209 target_tree->top_controls_delta_ = |
| 210 target_tree->top_controls_delta_ - |
| 211 target_tree->sent_top_controls_delta_; |
| 212 target_tree->sent_top_controls_delta_ = 0.f; |
| 213 |
203 target_tree->SetPageScaleValues( | 214 target_tree->SetPageScaleValues( |
204 page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(), | 215 page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(), |
205 target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); | 216 target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); |
206 target_tree->set_sent_page_scale_delta(1); | 217 target_tree->set_sent_page_scale_delta(1); |
207 | 218 |
208 if (page_scale_layer_ && inner_viewport_scroll_layer_) { | 219 if (page_scale_layer_ && inner_viewport_scroll_layer_) { |
209 target_tree->SetViewportLayersFromIds( | 220 target_tree->SetViewportLayersFromIds( |
210 page_scale_layer_->id(), | 221 page_scale_layer_->id(), |
211 inner_viewport_scroll_layer_->id(), | 222 inner_viewport_scroll_layer_->id(), |
212 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() | 223 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 layer->ApplySentScrollDeltasFromAbortedCommit(); | 380 layer->ApplySentScrollDeltasFromAbortedCommit(); |
370 } | 381 } |
371 | 382 |
372 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() { | 383 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() { |
373 DCHECK(IsActiveTree()); | 384 DCHECK(IsActiveTree()); |
374 | 385 |
375 page_scale_factor_ *= sent_page_scale_delta_; | 386 page_scale_factor_ *= sent_page_scale_delta_; |
376 page_scale_delta_ /= sent_page_scale_delta_; | 387 page_scale_delta_ /= sent_page_scale_delta_; |
377 sent_page_scale_delta_ = 1.f; | 388 sent_page_scale_delta_ = 1.f; |
378 | 389 |
| 390 top_controls_top_offset_ += sent_top_controls_delta_; |
| 391 top_controls_delta_ -= sent_top_controls_delta_; |
| 392 sent_top_controls_delta_ = 0.f; |
| 393 |
379 if (!root_layer()) | 394 if (!root_layer()) |
380 return; | 395 return; |
381 | 396 |
382 LayerTreeHostCommon::CallFunctionForSubtree( | 397 LayerTreeHostCommon::CallFunctionForSubtree( |
383 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo)); | 398 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo)); |
384 } | 399 } |
385 | 400 |
386 static void ApplyScrollDeltasSinceBeginMainFrameTo(LayerImpl* layer) { | 401 static void ApplyScrollDeltasSinceBeginMainFrameTo(LayerImpl* layer) { |
387 layer->ApplyScrollDeltasSinceBeginMainFrame(); | 402 layer->ApplyScrollDeltasSinceBeginMainFrame(); |
388 } | 403 } |
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1418 | 1433 |
1419 void LayerTreeImpl::InputScrollAnimationFinished() { | 1434 void LayerTreeImpl::InputScrollAnimationFinished() { |
1420 layer_tree_host_impl_->ScrollEnd(); | 1435 layer_tree_host_impl_->ScrollEnd(); |
1421 } | 1436 } |
1422 | 1437 |
1423 BlockingTaskRunner* LayerTreeImpl::BlockingMainThreadTaskRunner() const { | 1438 BlockingTaskRunner* LayerTreeImpl::BlockingMainThreadTaskRunner() const { |
1424 return proxy()->blocking_main_thread_task_runner(); | 1439 return proxy()->blocking_main_thread_task_runner(); |
1425 } | 1440 } |
1426 | 1441 |
1427 } // namespace cc | 1442 } // namespace cc |
OLD | NEW |