| 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_content_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_content_offset_ = top_controls_content_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_content_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 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1407 | 1422 |
| 1408 void LayerTreeImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { | 1423 void LayerTreeImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { |
| 1409 layer_tree_host_impl_->UnregisterPictureLayerImpl(layer); | 1424 layer_tree_host_impl_->UnregisterPictureLayerImpl(layer); |
| 1410 } | 1425 } |
| 1411 | 1426 |
| 1412 void LayerTreeImpl::InputScrollAnimationFinished() { | 1427 void LayerTreeImpl::InputScrollAnimationFinished() { |
| 1413 layer_tree_host_impl_->ScrollEnd(); | 1428 layer_tree_host_impl_->ScrollEnd(); |
| 1414 } | 1429 } |
| 1415 | 1430 |
| 1416 } // namespace cc | 1431 } // namespace cc |
| OLD | NEW |