Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(350)

Side by Side Diff: cc/trees/layer_tree_impl.cc

Issue 2113483002: Make RootScroller set the outer viewport scroll layer in the compositor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698