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

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

Issue 2887053002: Remove scroll_clip_layer dependency from viewport layer tracking (Closed)
Patch Set: Cleanup return stmt Created 3 years, 7 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.h ('k') | cc/trees/layer_tree_host_common_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_host.h" 5 #include "cc/trees/layer_tree_host.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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 LayerTreeHost::~LayerTreeHost() { 166 LayerTreeHost::~LayerTreeHost() {
167 // Track when we're inside a main frame to see if compositor is being 167 // Track when we're inside a main frame to see if compositor is being
168 // destroyed midway which causes a crash. crbug.com/654672 168 // destroyed midway which causes a crash. crbug.com/654672
169 DCHECK(!inside_main_frame_); 169 DCHECK(!inside_main_frame_);
170 TRACE_EVENT0("cc", "LayerTreeHostInProcess::~LayerTreeHostInProcess"); 170 TRACE_EVENT0("cc", "LayerTreeHostInProcess::~LayerTreeHostInProcess");
171 171
172 // Clear any references into the LayerTreeHost. 172 // Clear any references into the LayerTreeHost.
173 mutator_host_->SetMutatorHostClient(nullptr); 173 mutator_host_->SetMutatorHostClient(nullptr);
174 174
175 // We must clear any pointers into the layer tree prior to destroying it. 175 // We must clear any pointers into the layer tree prior to destroying it.
176 RegisterViewportLayers(nullptr, nullptr, nullptr, nullptr); 176 RegisterViewportLayers(nullptr, nullptr, nullptr, nullptr, nullptr, nullptr);
177 177
178 if (root_layer_) { 178 if (root_layer_) {
179 root_layer_->SetLayerTreeHost(nullptr); 179 root_layer_->SetLayerTreeHost(nullptr);
180 180
181 // The root layer must be destroyed before the layer tree. We've made a 181 // The root layer must be destroyed before the layer tree. We've made a
182 // contract with our animation controllers that the animation_host will 182 // contract with our animation controllers that the animation_host will
183 // outlive them, and we must make good. 183 // outlive them, and we must make good.
184 root_layer_ = nullptr; 184 root_layer_ = nullptr;
185 } 185 }
186 186
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 // Reset gpu rasterization tracking. 899 // Reset gpu rasterization tracking.
900 // This flag is sticky until a new tree comes along. 900 // This flag is sticky until a new tree comes along.
901 ResetGpuRasterizationTracking(); 901 ResetGpuRasterizationTracking();
902 902
903 SetNeedsFullTreeSync(); 903 SetNeedsFullTreeSync();
904 } 904 }
905 905
906 void LayerTreeHost::RegisterViewportLayers( 906 void LayerTreeHost::RegisterViewportLayers(
907 scoped_refptr<Layer> overscroll_elasticity_layer, 907 scoped_refptr<Layer> overscroll_elasticity_layer,
908 scoped_refptr<Layer> page_scale_layer, 908 scoped_refptr<Layer> page_scale_layer,
909 scoped_refptr<Layer> inner_viewport_container_layer,
910 scoped_refptr<Layer> outer_viewport_container_layer,
909 scoped_refptr<Layer> inner_viewport_scroll_layer, 911 scoped_refptr<Layer> inner_viewport_scroll_layer,
910 scoped_refptr<Layer> outer_viewport_scroll_layer) { 912 scoped_refptr<Layer> outer_viewport_scroll_layer) {
911 DCHECK(!inner_viewport_scroll_layer || 913 DCHECK(!inner_viewport_scroll_layer ||
912 inner_viewport_scroll_layer != outer_viewport_scroll_layer); 914 inner_viewport_scroll_layer != outer_viewport_scroll_layer);
913 overscroll_elasticity_layer_ = overscroll_elasticity_layer; 915 overscroll_elasticity_layer_ = overscroll_elasticity_layer;
914 page_scale_layer_ = page_scale_layer; 916 page_scale_layer_ = page_scale_layer;
917 inner_viewport_container_layer_ = inner_viewport_container_layer;
918 outer_viewport_container_layer_ = outer_viewport_container_layer;
915 inner_viewport_scroll_layer_ = inner_viewport_scroll_layer; 919 inner_viewport_scroll_layer_ = inner_viewport_scroll_layer;
916 outer_viewport_scroll_layer_ = outer_viewport_scroll_layer; 920 outer_viewport_scroll_layer_ = outer_viewport_scroll_layer;
917 } 921 }
918 922
919 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) { 923 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) {
920 if (selection_ == selection) 924 if (selection_ == selection)
921 return; 925 return;
922 926
923 selection_ = selection; 927 selection_ = selection;
924 SetNeedsCommit(); 928 SetNeedsCommit();
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
1166 EventListenerClass::kMouseWheel, 1170 EventListenerClass::kMouseWheel,
1167 event_listener_properties(EventListenerClass::kMouseWheel)); 1171 event_listener_properties(EventListenerClass::kMouseWheel));
1168 tree_impl->set_event_listener_properties( 1172 tree_impl->set_event_listener_properties(
1169 EventListenerClass::kTouchEndOrCancel, 1173 EventListenerClass::kTouchEndOrCancel,
1170 event_listener_properties(EventListenerClass::kTouchEndOrCancel)); 1174 event_listener_properties(EventListenerClass::kTouchEndOrCancel));
1171 1175
1172 if (page_scale_layer_ && inner_viewport_scroll_layer_) { 1176 if (page_scale_layer_ && inner_viewport_scroll_layer_) {
1173 tree_impl->SetViewportLayersFromIds( 1177 tree_impl->SetViewportLayersFromIds(
1174 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 1178 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
1175 : Layer::INVALID_ID, 1179 : Layer::INVALID_ID,
1176 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), 1180 page_scale_layer_->id(),
1181 inner_viewport_container_layer_ ? inner_viewport_container_layer_->id()
1182 : Layer::INVALID_ID,
1183 outer_viewport_container_layer_ ? outer_viewport_container_layer_->id()
1184 : Layer::INVALID_ID,
1185 inner_viewport_scroll_layer_->id(),
1177 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() 1186 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id()
1178 : Layer::INVALID_ID); 1187 : Layer::INVALID_ID);
1179 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers()); 1188 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers());
1180 } else { 1189 } else {
1181 tree_impl->ClearViewportLayers(); 1190 tree_impl->ClearViewportLayers();
1182 } 1191 }
1183 1192
1184 tree_impl->RegisterSelection(selection_); 1193 tree_impl->RegisterSelection(selection_);
1185 1194
1186 tree_impl->PushPageScaleFromMainThread( 1195 tree_impl->PushPageScaleFromMainThread(
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
1475 void LayerTreeHost::SetNeedsDisplayOnAllLayers() { 1484 void LayerTreeHost::SetNeedsDisplayOnAllLayers() {
1476 for (auto* layer : *this) 1485 for (auto* layer : *this)
1477 layer->SetNeedsDisplay(); 1486 layer->SetNeedsDisplay();
1478 } 1487 }
1479 1488
1480 void LayerTreeHost::SetHasCopyRequest(bool has_copy_request) { 1489 void LayerTreeHost::SetHasCopyRequest(bool has_copy_request) {
1481 has_copy_request_ = has_copy_request; 1490 has_copy_request_ = has_copy_request;
1482 } 1491 }
1483 1492
1484 } // namespace cc 1493 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.h ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698