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

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

Issue 609663003: cc: Remove use of PassAs() and constructor-casting with scoped_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cc-passas: PassAs-presubmit-warning Created 6 years, 2 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
« no previous file with comments | « cc/trees/layer_tree_host_unittest_scroll.cc ('k') | cc/trees/layer_tree_impl_unittest.cc » ('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 <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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 101
102 LayerTreeImpl::~LayerTreeImpl() { 102 LayerTreeImpl::~LayerTreeImpl() {
103 BreakSwapPromises(SwapPromise::SWAP_FAILS); 103 BreakSwapPromises(SwapPromise::SWAP_FAILS);
104 104
105 // 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
106 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor. 106 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor.
107 DCHECK(!root_layer_); 107 DCHECK(!root_layer_);
108 DCHECK(layers_with_copy_output_request_.empty()); 108 DCHECK(layers_with_copy_output_request_.empty());
109 } 109 }
110 110
111 void LayerTreeImpl::Shutdown() { root_layer_.reset(); } 111 void LayerTreeImpl::Shutdown() {
112 root_layer_ = nullptr;
113 }
112 114
113 void LayerTreeImpl::ReleaseResources() { 115 void LayerTreeImpl::ReleaseResources() {
114 if (root_layer_) 116 if (root_layer_)
115 ReleaseResourcesRecursive(root_layer_.get()); 117 ReleaseResourcesRecursive(root_layer_.get());
116 } 118 }
117 119
118 void LayerTreeImpl::SetRootLayer(scoped_ptr<LayerImpl> layer) { 120 void LayerTreeImpl::SetRootLayer(scoped_ptr<LayerImpl> layer) {
119 if (inner_viewport_scroll_layer_) 121 if (inner_viewport_scroll_layer_)
120 inner_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL); 122 inner_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL);
121 if (outer_viewport_scroll_layer_) 123 if (outer_viewport_scroll_layer_)
122 outer_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL); 124 outer_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL);
123 inner_viewport_scroll_delegate_proxy_.reset(); 125 inner_viewport_scroll_delegate_proxy_ = nullptr;
124 outer_viewport_scroll_delegate_proxy_.reset(); 126 outer_viewport_scroll_delegate_proxy_ = nullptr;
125 127
126 root_layer_ = layer.Pass(); 128 root_layer_ = layer.Pass();
127 currently_scrolling_layer_ = NULL; 129 currently_scrolling_layer_ = NULL;
128 inner_viewport_scroll_layer_ = NULL; 130 inner_viewport_scroll_layer_ = NULL;
129 outer_viewport_scroll_layer_ = NULL; 131 outer_viewport_scroll_layer_ = NULL;
130 page_scale_layer_ = NULL; 132 page_scale_layer_ = NULL;
131 133
132 layer_tree_host_impl_->OnCanDrawStateChangedForTree(); 134 layer_tree_host_impl_->OnCanDrawStateChangedForTree();
133 } 135 }
134 136
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 } 176 }
175 177
176 scoped_ptr<LayerImpl> LayerTreeImpl::DetachLayerTree() { 178 scoped_ptr<LayerImpl> LayerTreeImpl::DetachLayerTree() {
177 // Clear all data structures that have direct references to the layer tree. 179 // Clear all data structures that have direct references to the layer tree.
178 scrolling_layer_id_from_previous_tree_ = 180 scrolling_layer_id_from_previous_tree_ =
179 currently_scrolling_layer_ ? currently_scrolling_layer_->id() : 0; 181 currently_scrolling_layer_ ? currently_scrolling_layer_->id() : 0;
180 if (inner_viewport_scroll_layer_) 182 if (inner_viewport_scroll_layer_)
181 inner_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL); 183 inner_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL);
182 if (outer_viewport_scroll_layer_) 184 if (outer_viewport_scroll_layer_)
183 outer_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL); 185 outer_viewport_scroll_layer_->SetScrollOffsetDelegate(NULL);
184 inner_viewport_scroll_delegate_proxy_.reset(); 186 inner_viewport_scroll_delegate_proxy_ = nullptr;
185 outer_viewport_scroll_delegate_proxy_.reset(); 187 outer_viewport_scroll_delegate_proxy_ = nullptr;
186 inner_viewport_scroll_layer_ = NULL; 188 inner_viewport_scroll_layer_ = NULL;
187 outer_viewport_scroll_layer_ = NULL; 189 outer_viewport_scroll_layer_ = NULL;
188 page_scale_layer_ = NULL; 190 page_scale_layer_ = NULL;
189 currently_scrolling_layer_ = NULL; 191 currently_scrolling_layer_ = NULL;
190 192
191 render_surface_layer_list_.clear(); 193 render_surface_layer_list_.clear();
192 set_needs_update_draw_properties(); 194 set_needs_update_draw_properties();
193 return root_layer_.Pass(); 195 return root_layer_.Pass();
194 } 196 }
195 197
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
776 LayerTreeImpl::CreateScrollbarAnimationController(LayerImpl* scrolling_layer) { 778 LayerTreeImpl::CreateScrollbarAnimationController(LayerImpl* scrolling_layer) {
777 DCHECK(settings().scrollbar_fade_delay_ms); 779 DCHECK(settings().scrollbar_fade_delay_ms);
778 DCHECK(settings().scrollbar_fade_duration_ms); 780 DCHECK(settings().scrollbar_fade_duration_ms);
779 base::TimeDelta delay = 781 base::TimeDelta delay =
780 base::TimeDelta::FromMilliseconds(settings().scrollbar_fade_delay_ms); 782 base::TimeDelta::FromMilliseconds(settings().scrollbar_fade_delay_ms);
781 base::TimeDelta duration = 783 base::TimeDelta duration =
782 base::TimeDelta::FromMilliseconds(settings().scrollbar_fade_duration_ms); 784 base::TimeDelta::FromMilliseconds(settings().scrollbar_fade_duration_ms);
783 switch (settings().scrollbar_animator) { 785 switch (settings().scrollbar_animator) {
784 case LayerTreeSettings::LinearFade: { 786 case LayerTreeSettings::LinearFade: {
785 return ScrollbarAnimationControllerLinearFade::Create( 787 return ScrollbarAnimationControllerLinearFade::Create(
786 scrolling_layer, layer_tree_host_impl_, delay, duration) 788 scrolling_layer, layer_tree_host_impl_, delay, duration);
787 .PassAs<ScrollbarAnimationController>();
788 } 789 }
789 case LayerTreeSettings::Thinning: { 790 case LayerTreeSettings::Thinning: {
790 return ScrollbarAnimationControllerThinning::Create( 791 return ScrollbarAnimationControllerThinning::Create(
791 scrolling_layer, layer_tree_host_impl_, delay, duration) 792 scrolling_layer, layer_tree_host_impl_, delay, duration);
792 .PassAs<ScrollbarAnimationController>();
793 } 793 }
794 case LayerTreeSettings::NoAnimator: 794 case LayerTreeSettings::NoAnimator:
795 NOTREACHED(); 795 NOTREACHED();
796 break; 796 break;
797 } 797 }
798 return scoped_ptr<ScrollbarAnimationController>(); 798 return nullptr;
799 } 799 }
800 800
801 void LayerTreeImpl::DidAnimateScrollOffset() { 801 void LayerTreeImpl::DidAnimateScrollOffset() {
802 layer_tree_host_impl_->DidAnimateScrollOffset(); 802 layer_tree_host_impl_->DidAnimateScrollOffset();
803 } 803 }
804 804
805 bool LayerTreeImpl::use_gpu_rasterization() const { 805 bool LayerTreeImpl::use_gpu_rasterization() const {
806 return layer_tree_host_impl_->use_gpu_rasterization(); 806 return layer_tree_host_impl_->use_gpu_rasterization();
807 } 807 }
808 808
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 if (root_layer_scroll_offset_delegate_ == root_layer_scroll_offset_delegate) 874 if (root_layer_scroll_offset_delegate_ == root_layer_scroll_offset_delegate)
875 return; 875 return;
876 876
877 if (!root_layer_scroll_offset_delegate) { 877 if (!root_layer_scroll_offset_delegate) {
878 // Make sure we remove the proxies from their layers before 878 // Make sure we remove the proxies from their layers before
879 // releasing them. 879 // releasing them.
880 if (InnerViewportScrollLayer()) 880 if (InnerViewportScrollLayer())
881 InnerViewportScrollLayer()->SetScrollOffsetDelegate(NULL); 881 InnerViewportScrollLayer()->SetScrollOffsetDelegate(NULL);
882 if (OuterViewportScrollLayer()) 882 if (OuterViewportScrollLayer())
883 OuterViewportScrollLayer()->SetScrollOffsetDelegate(NULL); 883 OuterViewportScrollLayer()->SetScrollOffsetDelegate(NULL);
884 inner_viewport_scroll_delegate_proxy_.reset(); 884 inner_viewport_scroll_delegate_proxy_ = nullptr;
885 outer_viewport_scroll_delegate_proxy_.reset(); 885 outer_viewport_scroll_delegate_proxy_ = nullptr;
886 } 886 }
887 887
888 root_layer_scroll_offset_delegate_ = root_layer_scroll_offset_delegate; 888 root_layer_scroll_offset_delegate_ = root_layer_scroll_offset_delegate;
889 889
890 if (root_layer_scroll_offset_delegate_) { 890 if (root_layer_scroll_offset_delegate_) {
891 root_layer_scroll_offset_delegate_->UpdateRootLayerState( 891 root_layer_scroll_offset_delegate_->UpdateRootLayerState(
892 TotalScrollOffset(), 892 TotalScrollOffset(),
893 TotalMaxScrollOffset(), 893 TotalMaxScrollOffset(),
894 ScrollableSize(), 894 ScrollableSize(),
895 total_page_scale_factor(), 895 total_page_scale_factor(),
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
1443 1443
1444 void LayerTreeImpl::InputScrollAnimationFinished() { 1444 void LayerTreeImpl::InputScrollAnimationFinished() {
1445 layer_tree_host_impl_->ScrollEnd(); 1445 layer_tree_host_impl_->ScrollEnd();
1446 } 1446 }
1447 1447
1448 BlockingTaskRunner* LayerTreeImpl::BlockingMainThreadTaskRunner() const { 1448 BlockingTaskRunner* LayerTreeImpl::BlockingMainThreadTaskRunner() const {
1449 return proxy()->blocking_main_thread_task_runner(); 1449 return proxy()->blocking_main_thread_task_runner();
1450 } 1450 }
1451 1451
1452 } // namespace cc 1452 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest_scroll.cc ('k') | cc/trees/layer_tree_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698