Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 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/layers/layer.h" | 5 #include "cc/layers/layer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/atomic_sequence_num.h" | 9 #include "base/atomic_sequence_num.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 } | 125 } |
| 126 } | 126 } |
| 127 | 127 |
| 128 void Layer::SetLayerTreeHost(LayerTreeHost* host) { | 128 void Layer::SetLayerTreeHost(LayerTreeHost* host) { |
| 129 if (layer_tree_host_ == host) | 129 if (layer_tree_host_ == host) |
| 130 return; | 130 return; |
| 131 | 131 |
| 132 if (layer_tree_host_) | 132 if (layer_tree_host_) |
| 133 layer_tree_host_->property_trees()->needs_rebuild = true; | 133 layer_tree_host_->property_trees()->needs_rebuild = true; |
| 134 | 134 |
| 135 if (host) | |
| 136 host->property_trees()->needs_rebuild = true; | |
| 137 | |
| 138 InvalidatePropertyTreesIndices(); | |
|
Ian Vollick
2015/06/09 00:18:51
Is there a chance that we're detaching/attaching a
| |
| 139 | |
| 135 layer_tree_host_ = host; | 140 layer_tree_host_ = host; |
| 136 | 141 |
| 137 // When changing hosts, the layer needs to commit its properties to the impl | 142 // When changing hosts, the layer needs to commit its properties to the impl |
| 138 // side for the new host. | 143 // side for the new host. |
| 139 SetNeedsPushProperties(); | 144 SetNeedsPushProperties(); |
| 140 | 145 |
| 141 for (size_t i = 0; i < children_.size(); ++i) | 146 for (size_t i = 0; i < children_.size(); ++i) |
| 142 children_[i]->SetLayerTreeHost(host); | 147 children_[i]->SetLayerTreeHost(host); |
| 143 | 148 |
| 144 if (mask_layer_.get()) | 149 if (mask_layer_.get()) |
| (...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1046 | 1051 |
| 1047 int Layer::opacity_tree_index() const { | 1052 int Layer::opacity_tree_index() const { |
| 1048 if (!layer_tree_host_ || | 1053 if (!layer_tree_host_ || |
| 1049 layer_tree_host_->property_trees()->sequence_number != | 1054 layer_tree_host_->property_trees()->sequence_number != |
| 1050 property_tree_sequence_number_) { | 1055 property_tree_sequence_number_) { |
| 1051 return -1; | 1056 return -1; |
| 1052 } | 1057 } |
| 1053 return opacity_tree_index_; | 1058 return opacity_tree_index_; |
| 1054 } | 1059 } |
| 1055 | 1060 |
| 1061 void Layer::InvalidatePropertyTreesIndices() { | |
| 1062 int invalid_property_tree_index = -1; | |
| 1063 SetTransformTreeIndex(invalid_property_tree_index); | |
| 1064 SetClipTreeIndex(invalid_property_tree_index); | |
| 1065 SetOpacityTreeIndex(invalid_property_tree_index); | |
| 1066 } | |
| 1067 | |
| 1056 void Layer::SetShouldFlattenTransform(bool should_flatten) { | 1068 void Layer::SetShouldFlattenTransform(bool should_flatten) { |
| 1057 DCHECK(IsPropertyChangeAllowed()); | 1069 DCHECK(IsPropertyChangeAllowed()); |
| 1058 if (should_flatten_transform_ == should_flatten) | 1070 if (should_flatten_transform_ == should_flatten) |
| 1059 return; | 1071 return; |
| 1060 should_flatten_transform_ = should_flatten; | 1072 should_flatten_transform_ = should_flatten; |
| 1061 SetNeedsCommit(); | 1073 SetNeedsCommit(); |
| 1062 } | 1074 } |
| 1063 | 1075 |
| 1064 void Layer::SetIsDrawable(bool is_drawable) { | 1076 void Layer::SetIsDrawable(bool is_drawable) { |
| 1065 DCHECK(IsPropertyChangeAllowed()); | 1077 DCHECK(IsPropertyChangeAllowed()); |
| (...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1647 ? layer_tree_host()->meta_information_sequence_number() | 1659 ? layer_tree_host()->meta_information_sequence_number() |
| 1648 : 0; | 1660 : 0; |
| 1649 } | 1661 } |
| 1650 | 1662 |
| 1651 bool Layer::sorted_for_recursion() { | 1663 bool Layer::sorted_for_recursion() { |
| 1652 return sorted_for_recursion_tracker_ == | 1664 return sorted_for_recursion_tracker_ == |
| 1653 layer_tree_host()->meta_information_sequence_number(); | 1665 layer_tree_host()->meta_information_sequence_number(); |
| 1654 } | 1666 } |
| 1655 | 1667 |
| 1656 } // namespace cc | 1668 } // namespace cc |
| OLD | NEW |