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 <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 is_first_frame_after_commit_tracker_(-1), | 57 is_first_frame_after_commit_tracker_(-1), |
58 root_layer_for_testing_(nullptr), | 58 root_layer_for_testing_(nullptr), |
59 hud_layer_(nullptr), | 59 hud_layer_(nullptr), |
60 background_color_(0), | 60 background_color_(0), |
61 has_transparent_background_(false), | 61 has_transparent_background_(false), |
62 last_scrolled_layer_id_(Layer::INVALID_ID), | 62 last_scrolled_layer_id_(Layer::INVALID_ID), |
63 overscroll_elasticity_layer_id_(Layer::INVALID_ID), | 63 overscroll_elasticity_layer_id_(Layer::INVALID_ID), |
64 page_scale_layer_id_(Layer::INVALID_ID), | 64 page_scale_layer_id_(Layer::INVALID_ID), |
65 inner_viewport_scroll_layer_id_(Layer::INVALID_ID), | 65 inner_viewport_scroll_layer_id_(Layer::INVALID_ID), |
66 outer_viewport_scroll_layer_id_(Layer::INVALID_ID), | 66 outer_viewport_scroll_layer_id_(Layer::INVALID_ID), |
| 67 root_scroller_layer_id_(Layer::INVALID_ID), |
67 page_scale_factor_(page_scale_factor), | 68 page_scale_factor_(page_scale_factor), |
68 min_page_scale_factor_(0), | 69 min_page_scale_factor_(0), |
69 max_page_scale_factor_(0), | 70 max_page_scale_factor_(0), |
70 device_scale_factor_(1.f), | 71 device_scale_factor_(1.f), |
71 painted_device_scale_factor_(1.f), | 72 painted_device_scale_factor_(1.f), |
72 elastic_overscroll_(elastic_overscroll), | 73 elastic_overscroll_(elastic_overscroll), |
73 layers_(new OwnedLayerImplList), | 74 layers_(new OwnedLayerImplList), |
74 viewport_size_invalid_(false), | 75 viewport_size_invalid_(false), |
75 needs_update_draw_properties_(true), | 76 needs_update_draw_properties_(true), |
76 needs_full_tree_sync_(true), | 77 needs_full_tree_sync_(true), |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 target_tree->set_painted_device_scale_factor(painted_device_scale_factor()); | 423 target_tree->set_painted_device_scale_factor(painted_device_scale_factor()); |
423 target_tree->elastic_overscroll()->PushPendingToActive(); | 424 target_tree->elastic_overscroll()->PushPendingToActive(); |
424 | 425 |
425 target_tree->pending_page_scale_animation_ = | 426 target_tree->pending_page_scale_animation_ = |
426 std::move(pending_page_scale_animation_); | 427 std::move(pending_page_scale_animation_); |
427 | 428 |
428 target_tree->SetViewportLayersFromIds( | 429 target_tree->SetViewportLayersFromIds( |
429 overscroll_elasticity_layer_id_, page_scale_layer_id_, | 430 overscroll_elasticity_layer_id_, page_scale_layer_id_, |
430 inner_viewport_scroll_layer_id_, outer_viewport_scroll_layer_id_); | 431 inner_viewport_scroll_layer_id_, outer_viewport_scroll_layer_id_); |
431 | 432 |
| 433 target_tree->SetRootScrollerLayerFromId(root_scroller_layer_id_); |
| 434 |
432 target_tree->RegisterSelection(selection_); | 435 target_tree->RegisterSelection(selection_); |
433 | 436 |
434 // This should match the property synchronization in | 437 // This should match the property synchronization in |
435 // LayerTreeHost::finishCommitOnImplThread(). | 438 // LayerTreeHost::finishCommitOnImplThread(). |
436 target_tree->set_source_frame_number(source_frame_number()); | 439 target_tree->set_source_frame_number(source_frame_number()); |
437 target_tree->set_background_color(background_color()); | 440 target_tree->set_background_color(background_color()); |
438 target_tree->set_has_transparent_background(has_transparent_background()); | 441 target_tree->set_has_transparent_background(has_transparent_background()); |
439 target_tree->set_have_scroll_event_handlers(have_scroll_event_handlers()); | 442 target_tree->set_have_scroll_event_handlers(have_scroll_event_handlers()); |
440 target_tree->set_event_listener_properties( | 443 target_tree->set_event_listener_properties( |
441 EventListenerClass::kTouchStartOrMove, | 444 EventListenerClass::kTouchStartOrMove, |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 int overscroll_elasticity_layer_id, | 837 int overscroll_elasticity_layer_id, |
835 int page_scale_layer_id, | 838 int page_scale_layer_id, |
836 int inner_viewport_scroll_layer_id, | 839 int inner_viewport_scroll_layer_id, |
837 int outer_viewport_scroll_layer_id) { | 840 int outer_viewport_scroll_layer_id) { |
838 overscroll_elasticity_layer_id_ = overscroll_elasticity_layer_id; | 841 overscroll_elasticity_layer_id_ = overscroll_elasticity_layer_id; |
839 page_scale_layer_id_ = page_scale_layer_id; | 842 page_scale_layer_id_ = page_scale_layer_id; |
840 inner_viewport_scroll_layer_id_ = inner_viewport_scroll_layer_id; | 843 inner_viewport_scroll_layer_id_ = inner_viewport_scroll_layer_id; |
841 outer_viewport_scroll_layer_id_ = outer_viewport_scroll_layer_id; | 844 outer_viewport_scroll_layer_id_ = outer_viewport_scroll_layer_id; |
842 } | 845 } |
843 | 846 |
| 847 void LayerTreeImpl::SetRootScrollerLayerFromId(int root_scroller_layer_id) { |
| 848 root_scroller_layer_id_ = root_scroller_layer_id; |
| 849 } |
| 850 |
844 void LayerTreeImpl::ClearViewportLayers() { | 851 void LayerTreeImpl::ClearViewportLayers() { |
845 overscroll_elasticity_layer_id_ = Layer::INVALID_ID; | 852 overscroll_elasticity_layer_id_ = Layer::INVALID_ID; |
846 page_scale_layer_id_ = Layer::INVALID_ID; | 853 page_scale_layer_id_ = Layer::INVALID_ID; |
847 inner_viewport_scroll_layer_id_ = Layer::INVALID_ID; | 854 inner_viewport_scroll_layer_id_ = Layer::INVALID_ID; |
848 outer_viewport_scroll_layer_id_ = Layer::INVALID_ID; | 855 outer_viewport_scroll_layer_id_ = Layer::INVALID_ID; |
849 } | 856 } |
850 | 857 |
851 bool LayerTreeImpl::UpdateDrawProperties(bool update_lcd_text) { | 858 bool LayerTreeImpl::UpdateDrawProperties(bool update_lcd_text) { |
852 if (!needs_update_draw_properties_) | 859 if (!needs_update_draw_properties_) |
853 return true; | 860 return true; |
(...skipping 1236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2090 | 2097 |
2091 void LayerTreeImpl::ResetAllChangeTracking() { | 2098 void LayerTreeImpl::ResetAllChangeTracking() { |
2092 layers_that_should_push_properties_.clear(); | 2099 layers_that_should_push_properties_.clear(); |
2093 // Iterate over all layers, including masks and replicas. | 2100 // Iterate over all layers, including masks and replicas. |
2094 for (auto& layer : *layers_) | 2101 for (auto& layer : *layers_) |
2095 layer->ResetChangeTracking(); | 2102 layer->ResetChangeTracking(); |
2096 property_trees_.ResetAllChangeTracking(); | 2103 property_trees_.ResetAllChangeTracking(); |
2097 } | 2104 } |
2098 | 2105 |
2099 } // namespace cc | 2106 } // namespace cc |
OLD | NEW |