| 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_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 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id() | 484 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id() |
| 485 : Layer::INVALID_ID, | 485 : Layer::INVALID_ID, |
| 486 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), | 486 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), |
| 487 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id() | 487 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id() |
| 488 : Layer::INVALID_ID); | 488 : Layer::INVALID_ID); |
| 489 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers()); | 489 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers()); |
| 490 } else { | 490 } else { |
| 491 sync_tree->ClearViewportLayers(); | 491 sync_tree->ClearViewportLayers(); |
| 492 } | 492 } |
| 493 | 493 |
| 494 sync_tree->SetRootScrollerLayerFromId(root_scroller_layer_.get() |
| 495 ? root_scroller_layer_->id() |
| 496 : Layer::INVALID_ID); |
| 497 |
| 494 sync_tree->RegisterSelection(selection_); | 498 sync_tree->RegisterSelection(selection_); |
| 495 | 499 |
| 496 bool property_trees_changed_on_active_tree = | 500 bool property_trees_changed_on_active_tree = |
| 497 sync_tree->IsActiveTree() && sync_tree->property_trees()->changed; | 501 sync_tree->IsActiveTree() && sync_tree->property_trees()->changed; |
| 498 // Property trees may store damage status. We preserve the sync tree damage | 502 // Property trees may store damage status. We preserve the sync tree damage |
| 499 // status by pushing the damage status from sync tree property trees to main | 503 // status by pushing the damage status from sync tree property trees to main |
| 500 // thread property trees or by moving it onto the layers. | 504 // thread property trees or by moving it onto the layers. |
| 501 if (root_layer_ && property_trees_changed_on_active_tree) { | 505 if (root_layer_ && property_trees_changed_on_active_tree) { |
| 502 if (property_trees_.sequence_number == | 506 if (property_trees_.sequence_number == |
| 503 sync_tree->property_trees()->sequence_number) | 507 sync_tree->property_trees()->sequence_number) |
| (...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 scoped_refptr<Layer> inner_viewport_scroll_layer, | 1213 scoped_refptr<Layer> inner_viewport_scroll_layer, |
| 1210 scoped_refptr<Layer> outer_viewport_scroll_layer) { | 1214 scoped_refptr<Layer> outer_viewport_scroll_layer) { |
| 1211 DCHECK(!inner_viewport_scroll_layer || | 1215 DCHECK(!inner_viewport_scroll_layer || |
| 1212 inner_viewport_scroll_layer != outer_viewport_scroll_layer); | 1216 inner_viewport_scroll_layer != outer_viewport_scroll_layer); |
| 1213 overscroll_elasticity_layer_ = overscroll_elasticity_layer; | 1217 overscroll_elasticity_layer_ = overscroll_elasticity_layer; |
| 1214 page_scale_layer_ = page_scale_layer; | 1218 page_scale_layer_ = page_scale_layer; |
| 1215 inner_viewport_scroll_layer_ = inner_viewport_scroll_layer; | 1219 inner_viewport_scroll_layer_ = inner_viewport_scroll_layer; |
| 1216 outer_viewport_scroll_layer_ = outer_viewport_scroll_layer; | 1220 outer_viewport_scroll_layer_ = outer_viewport_scroll_layer; |
| 1217 } | 1221 } |
| 1218 | 1222 |
| 1223 void LayerTreeHost::SetRootScrollerLayer( |
| 1224 scoped_refptr<Layer> root_scroller_layer) { |
| 1225 root_scroller_layer_ = root_scroller_layer; |
| 1226 } |
| 1227 |
| 1219 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) { | 1228 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) { |
| 1220 if (selection_ == selection) | 1229 if (selection_ == selection) |
| 1221 return; | 1230 return; |
| 1222 | 1231 |
| 1223 selection_ = selection; | 1232 selection_ = selection; |
| 1224 SetNeedsCommit(); | 1233 SetNeedsCommit(); |
| 1225 } | 1234 } |
| 1226 | 1235 |
| 1227 void LayerTreeHost::SetHaveScrollEventHandlers(bool have_event_handlers) { | 1236 void LayerTreeHost::SetHaveScrollEventHandlers(bool have_event_handlers) { |
| 1228 if (have_scroll_event_handlers_ == have_event_handlers) | 1237 if (have_scroll_event_handlers_ == have_event_handlers) |
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1728 int seq_num = property_trees_.sequence_number; | 1737 int seq_num = property_trees_.sequence_number; |
| 1729 LayerTreeHostCommon::CallFunctionForEveryLayer(this, [seq_num](Layer* layer) { | 1738 LayerTreeHostCommon::CallFunctionForEveryLayer(this, [seq_num](Layer* layer) { |
| 1730 layer->set_property_tree_sequence_number(seq_num); | 1739 layer->set_property_tree_sequence_number(seq_num); |
| 1731 }); | 1740 }); |
| 1732 | 1741 |
| 1733 surface_id_namespace_ = proto.surface_id_namespace(); | 1742 surface_id_namespace_ = proto.surface_id_namespace(); |
| 1734 next_surface_sequence_ = proto.next_surface_sequence(); | 1743 next_surface_sequence_ = proto.next_surface_sequence(); |
| 1735 } | 1744 } |
| 1736 | 1745 |
| 1737 } // namespace cc | 1746 } // namespace cc |
| OLD | NEW |