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

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

Issue 2443613002: Rename classes related to top controls (Closed)
Patch Set: fix test Created 4 years, 1 month 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
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "ui/gfx/geometry/point_conversions.h" 49 #include "ui/gfx/geometry/point_conversions.h"
50 #include "ui/gfx/geometry/rect_conversions.h" 50 #include "ui/gfx/geometry/rect_conversions.h"
51 #include "ui/gfx/geometry/size_conversions.h" 51 #include "ui/gfx/geometry/size_conversions.h"
52 #include "ui/gfx/geometry/vector2d_conversions.h" 52 #include "ui/gfx/geometry/vector2d_conversions.h"
53 53
54 namespace cc { 54 namespace cc {
55 55
56 LayerTreeImpl::LayerTreeImpl( 56 LayerTreeImpl::LayerTreeImpl(
57 LayerTreeHostImpl* layer_tree_host_impl, 57 LayerTreeHostImpl* layer_tree_host_impl,
58 scoped_refptr<SyncedProperty<ScaleGroup>> page_scale_factor, 58 scoped_refptr<SyncedProperty<ScaleGroup>> page_scale_factor,
59 scoped_refptr<SyncedTopControls> top_controls_shown_ratio, 59 scoped_refptr<SyncedBrowserControls> top_controls_shown_ratio,
60 scoped_refptr<SyncedElasticOverscroll> elastic_overscroll) 60 scoped_refptr<SyncedElasticOverscroll> elastic_overscroll)
61 : layer_tree_host_impl_(layer_tree_host_impl), 61 : layer_tree_host_impl_(layer_tree_host_impl),
62 source_frame_number_(-1), 62 source_frame_number_(-1),
63 is_first_frame_after_commit_tracker_(-1), 63 is_first_frame_after_commit_tracker_(-1),
64 root_layer_for_testing_(nullptr), 64 root_layer_for_testing_(nullptr),
65 hud_layer_(nullptr), 65 hud_layer_(nullptr),
66 background_color_(0), 66 background_color_(0),
67 has_transparent_background_(false), 67 has_transparent_background_(false),
68 last_scrolled_layer_id_(Layer::INVALID_ID), 68 last_scrolled_layer_id_(Layer::INVALID_ID),
69 overscroll_elasticity_layer_id_(Layer::INVALID_ID), 69 overscroll_elasticity_layer_id_(Layer::INVALID_ID),
70 page_scale_layer_id_(Layer::INVALID_ID), 70 page_scale_layer_id_(Layer::INVALID_ID),
71 inner_viewport_scroll_layer_id_(Layer::INVALID_ID), 71 inner_viewport_scroll_layer_id_(Layer::INVALID_ID),
72 outer_viewport_scroll_layer_id_(Layer::INVALID_ID), 72 outer_viewport_scroll_layer_id_(Layer::INVALID_ID),
73 page_scale_factor_(page_scale_factor), 73 page_scale_factor_(page_scale_factor),
74 min_page_scale_factor_(0), 74 min_page_scale_factor_(0),
75 max_page_scale_factor_(0), 75 max_page_scale_factor_(0),
76 device_scale_factor_(1.f), 76 device_scale_factor_(1.f),
77 painted_device_scale_factor_(1.f), 77 painted_device_scale_factor_(1.f),
78 elastic_overscroll_(elastic_overscroll), 78 elastic_overscroll_(elastic_overscroll),
79 layers_(new OwnedLayerImplList), 79 layers_(new OwnedLayerImplList),
80 viewport_size_invalid_(false), 80 viewport_size_invalid_(false),
81 needs_update_draw_properties_(true), 81 needs_update_draw_properties_(true),
82 needs_full_tree_sync_(true), 82 needs_full_tree_sync_(true),
83 next_activation_forces_redraw_(false), 83 next_activation_forces_redraw_(false),
84 has_ever_been_drawn_(false), 84 has_ever_been_drawn_(false),
85 have_scroll_event_handlers_(false), 85 have_scroll_event_handlers_(false),
86 event_listener_properties_(), 86 event_listener_properties_(),
87 top_controls_shrink_blink_size_(false), 87 browser_controls_shrink_blink_size_(false),
88 top_controls_height_(0), 88 top_controls_height_(0),
89 bottom_controls_height_(0), 89 bottom_controls_height_(0),
90 top_controls_shown_ratio_(top_controls_shown_ratio) { 90 top_controls_shown_ratio_(top_controls_shown_ratio) {
91 property_trees()->is_main_thread = false; 91 property_trees()->is_main_thread = false;
92 } 92 }
93 93
94 LayerTreeImpl::~LayerTreeImpl() { 94 LayerTreeImpl::~LayerTreeImpl() {
95 BreakSwapPromises(IsActiveTree() ? SwapPromise::SWAP_FAILS 95 BreakSwapPromises(IsActiveTree() ? SwapPromise::SWAP_FAILS
96 : SwapPromise::ACTIVATION_FAILS); 96 : SwapPromise::ACTIVATION_FAILS);
97 97
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 // The request queue should have been processed and does not require a push. 412 // The request queue should have been processed and does not require a push.
413 DCHECK_EQ(ui_resource_request_queue_.size(), 0u); 413 DCHECK_EQ(ui_resource_request_queue_.size(), 0u);
414 414
415 LayerImpl* layer = target_tree->CurrentlyScrollingLayer(); 415 LayerImpl* layer = target_tree->CurrentlyScrollingLayer();
416 target_tree->SetPropertyTrees(&property_trees_); 416 target_tree->SetPropertyTrees(&property_trees_);
417 target_tree->SetCurrentlyScrollingLayer(layer); 417 target_tree->SetCurrentlyScrollingLayer(layer);
418 target_tree->UpdatePropertyTreeScrollOffset(&property_trees_); 418 target_tree->UpdatePropertyTreeScrollOffset(&property_trees_);
419 419
420 // This needs to be called early so that we don't clamp with incorrect max 420 // This needs to be called early so that we don't clamp with incorrect max
421 // offsets when UpdateViewportContainerSizes is called from e.g. 421 // offsets when UpdateViewportContainerSizes is called from e.g.
422 // PushTopControls 422 // PushBrowserControls
423 target_tree->UpdatePropertyTreesForBoundsDelta(); 423 target_tree->UpdatePropertyTreesForBoundsDelta();
424 424
425 if (next_activation_forces_redraw_) { 425 if (next_activation_forces_redraw_) {
426 target_tree->ForceRedrawNextActivation(); 426 target_tree->ForceRedrawNextActivation();
427 next_activation_forces_redraw_ = false; 427 next_activation_forces_redraw_ = false;
428 } 428 }
429 429
430 target_tree->PassSwapPromises(std::move(swap_promise_list_)); 430 target_tree->PassSwapPromises(std::move(swap_promise_list_));
431 swap_promise_list_.clear(); 431 swap_promise_list_.clear();
432 432
433 target_tree->set_top_controls_shrink_blink_size( 433 target_tree->set_browser_controls_shrink_blink_size(
434 top_controls_shrink_blink_size_); 434 browser_controls_shrink_blink_size_);
435 target_tree->set_top_controls_height(top_controls_height_); 435 target_tree->set_top_controls_height(top_controls_height_);
436 target_tree->set_bottom_controls_height(bottom_controls_height_); 436 target_tree->set_bottom_controls_height(bottom_controls_height_);
437 target_tree->PushTopControls(nullptr); 437 target_tree->PushBrowserControls(nullptr);
438 438
439 // Active tree already shares the page_scale_factor object with pending 439 // Active tree already shares the page_scale_factor object with pending
440 // tree so only the limits need to be provided. 440 // tree so only the limits need to be provided.
441 target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(), 441 target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(),
442 max_page_scale_factor()); 442 max_page_scale_factor());
443 target_tree->SetDeviceScaleFactor(device_scale_factor()); 443 target_tree->SetDeviceScaleFactor(device_scale_factor());
444 target_tree->set_painted_device_scale_factor(painted_device_scale_factor()); 444 target_tree->set_painted_device_scale_factor(painted_device_scale_factor());
445 target_tree->SetDeviceColorSpace(device_color_space_); 445 target_tree->SetDeviceColorSpace(device_color_space_);
446 target_tree->elastic_overscroll()->PushPendingToActive(); 446 target_tree->elastic_overscroll()->PushPendingToActive();
447 447
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 if (PageScaleLayer()) { 762 if (PageScaleLayer()) {
763 draw_property_utils::UpdatePageScaleFactor( 763 draw_property_utils::UpdatePageScaleFactor(
764 property_trees(), PageScaleLayer(), current_page_scale_factor(), 764 property_trees(), PageScaleLayer(), current_page_scale_factor(),
765 device_scale_factor(), layer_tree_host_impl_->DrawTransform()); 765 device_scale_factor(), layer_tree_host_impl_->DrawTransform());
766 } else { 766 } else {
767 DCHECK(layer_list_.empty() || *page_scale_factor == 1); 767 DCHECK(layer_list_.empty() || *page_scale_factor == 1);
768 } 768 }
769 } 769 }
770 } 770 }
771 771
772 void LayerTreeImpl::set_top_controls_shrink_blink_size(bool shrink) { 772 void LayerTreeImpl::set_browser_controls_shrink_blink_size(bool shrink) {
773 if (top_controls_shrink_blink_size_ == shrink) 773 if (browser_controls_shrink_blink_size_ == shrink)
774 return; 774 return;
775 775
776 top_controls_shrink_blink_size_ = shrink; 776 browser_controls_shrink_blink_size_ = shrink;
777 if (IsActiveTree()) 777 if (IsActiveTree())
778 layer_tree_host_impl_->UpdateViewportContainerSizes(); 778 layer_tree_host_impl_->UpdateViewportContainerSizes();
779 } 779 }
780 780
781 void LayerTreeImpl::set_top_controls_height(float top_controls_height) { 781 void LayerTreeImpl::set_top_controls_height(float top_controls_height) {
782 if (top_controls_height_ == top_controls_height) 782 if (top_controls_height_ == top_controls_height)
783 return; 783 return;
784 784
785 top_controls_height_ = top_controls_height; 785 top_controls_height_ = top_controls_height;
786 if (IsActiveTree()) 786 if (IsActiveTree())
787 layer_tree_host_impl_->UpdateViewportContainerSizes(); 787 layer_tree_host_impl_->UpdateViewportContainerSizes();
788 } 788 }
789 789
790 void LayerTreeImpl::set_bottom_controls_height(float bottom_controls_height) { 790 void LayerTreeImpl::set_bottom_controls_height(float bottom_controls_height) {
791 if (bottom_controls_height_ == bottom_controls_height) 791 if (bottom_controls_height_ == bottom_controls_height)
792 return; 792 return;
793 793
794 bottom_controls_height_ = bottom_controls_height; 794 bottom_controls_height_ = bottom_controls_height;
795 if (IsActiveTree()) 795 if (IsActiveTree())
796 layer_tree_host_impl_->UpdateViewportContainerSizes(); 796 layer_tree_host_impl_->UpdateViewportContainerSizes();
797 } 797 }
798 798
799 bool LayerTreeImpl::ClampTopControlsShownRatio() { 799 bool LayerTreeImpl::ClampBrowserControlsShownRatio() {
800 float ratio = top_controls_shown_ratio_->Current(true); 800 float ratio = top_controls_shown_ratio_->Current(true);
801 ratio = std::max(ratio, 0.f); 801 ratio = std::max(ratio, 0.f);
802 ratio = std::min(ratio, 1.f); 802 ratio = std::min(ratio, 1.f);
803 return top_controls_shown_ratio_->SetCurrent(ratio); 803 return top_controls_shown_ratio_->SetCurrent(ratio);
804 } 804 }
805 805
806 bool LayerTreeImpl::SetCurrentTopControlsShownRatio(float ratio) { 806 bool LayerTreeImpl::SetCurrentBrowserControlsShownRatio(float ratio) {
807 bool changed = top_controls_shown_ratio_->SetCurrent(ratio); 807 bool changed = top_controls_shown_ratio_->SetCurrent(ratio);
808 changed |= ClampTopControlsShownRatio(); 808 changed |= ClampBrowserControlsShownRatio();
809 return changed; 809 return changed;
810 } 810 }
811 811
812 void LayerTreeImpl::PushTopControlsFromMainThread( 812 void LayerTreeImpl::PushBrowserControlsFromMainThread(
813 float top_controls_shown_ratio) { 813 float top_controls_shown_ratio) {
814 PushTopControls(&top_controls_shown_ratio); 814 PushBrowserControls(&top_controls_shown_ratio);
815 } 815 }
816 816
817 void LayerTreeImpl::PushTopControls(const float* top_controls_shown_ratio) { 817 void LayerTreeImpl::PushBrowserControls(const float* top_controls_shown_ratio) {
818 DCHECK(top_controls_shown_ratio || IsActiveTree()); 818 DCHECK(top_controls_shown_ratio || IsActiveTree());
819 819
820 if (top_controls_shown_ratio) { 820 if (top_controls_shown_ratio) {
821 DCHECK(!IsActiveTree() || !layer_tree_host_impl_->pending_tree()); 821 DCHECK(!IsActiveTree() || !layer_tree_host_impl_->pending_tree());
822 top_controls_shown_ratio_->PushFromMainThread(*top_controls_shown_ratio); 822 top_controls_shown_ratio_->PushFromMainThread(*top_controls_shown_ratio);
823 } 823 }
824 if (IsActiveTree()) { 824 if (IsActiveTree()) {
825 bool changed_active = top_controls_shown_ratio_->PushPendingToActive(); 825 bool changed_active = top_controls_shown_ratio_->PushPendingToActive();
826 changed_active |= ClampTopControlsShownRatio(); 826 changed_active |= ClampBrowserControlsShownRatio();
827 if (changed_active) 827 if (changed_active)
828 layer_tree_host_impl_->DidChangeTopControlsPosition(); 828 layer_tree_host_impl_->DidChangeBrowserControlsPosition();
829 } 829 }
830 } 830 }
831 831
832 bool LayerTreeImpl::SetPageScaleFactorLimits(float min_page_scale_factor, 832 bool LayerTreeImpl::SetPageScaleFactorLimits(float min_page_scale_factor,
833 float max_page_scale_factor) { 833 float max_page_scale_factor) {
834 if (min_page_scale_factor == min_page_scale_factor_ && 834 if (min_page_scale_factor == min_page_scale_factor_ &&
835 max_page_scale_factor == max_page_scale_factor_) 835 max_page_scale_factor == max_page_scale_factor_)
836 return false; 836 return false;
837 837
838 min_page_scale_factor_ = min_page_scale_factor; 838 min_page_scale_factor_ = min_page_scale_factor;
(...skipping 1237 matching lines...) Expand 10 before | Expand all | Expand 10 after
2076 2076
2077 void LayerTreeImpl::ResetAllChangeTracking() { 2077 void LayerTreeImpl::ResetAllChangeTracking() {
2078 layers_that_should_push_properties_.clear(); 2078 layers_that_should_push_properties_.clear();
2079 // Iterate over all layers, including masks. 2079 // Iterate over all layers, including masks.
2080 for (auto& layer : *layers_) 2080 for (auto& layer : *layers_)
2081 layer->ResetChangeTracking(); 2081 layer->ResetChangeTracking();
2082 property_trees_.ResetAllChangeTracking(); 2082 property_trees_.ResetAllChangeTracking();
2083 } 2083 }
2084 2084
2085 } // namespace cc 2085 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698