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_impl.h" | 5 #include "cc/trees/layer_tree_host_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 3907 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3918 void LayerTreeHostImpl::SetMutatorsNeedRebuildPropertyTrees() {} | 3918 void LayerTreeHostImpl::SetMutatorsNeedRebuildPropertyTrees() {} |
3919 | 3919 |
3920 void LayerTreeHostImpl::SetTreeLayerFilterMutated( | 3920 void LayerTreeHostImpl::SetTreeLayerFilterMutated( |
3921 ElementId element_id, | 3921 ElementId element_id, |
3922 LayerTreeImpl* tree, | 3922 LayerTreeImpl* tree, |
3923 const FilterOperations& filters) { | 3923 const FilterOperations& filters) { |
3924 if (!tree) | 3924 if (!tree) |
3925 return; | 3925 return; |
3926 | 3926 |
3927 const int layer_id = tree->LayerIdByElementId(element_id); | 3927 const int layer_id = tree->LayerIdByElementId(element_id); |
| 3928 DCHECK(tree->property_trees()->IsInIdToIndexMap( |
| 3929 PropertyTrees::TreeType::EFFECT, layer_id)); |
3928 const int effect_id = | 3930 const int effect_id = |
3929 tree->property_trees()->effect_id_to_index_map[layer_id]; | 3931 tree->property_trees()->effect_id_to_index_map[layer_id]; |
3930 if (effect_id != EffectTree::kInvalidNodeId) | 3932 if (effect_id != EffectTree::kInvalidNodeId) |
3931 tree->property_trees()->effect_tree.OnFilterAnimated(filters, effect_id, | 3933 tree->property_trees()->effect_tree.OnFilterAnimated(filters, effect_id, |
3932 tree); | 3934 tree); |
3933 } | 3935 } |
3934 | 3936 |
3935 void LayerTreeHostImpl::SetTreeLayerOpacityMutated(ElementId element_id, | 3937 void LayerTreeHostImpl::SetTreeLayerOpacityMutated(ElementId element_id, |
3936 LayerTreeImpl* tree, | 3938 LayerTreeImpl* tree, |
3937 float opacity) { | 3939 float opacity) { |
3938 if (!tree) | 3940 if (!tree) |
3939 return; | 3941 return; |
3940 | 3942 |
3941 const int layer_id = tree->LayerIdByElementId(element_id); | 3943 const int layer_id = tree->LayerIdByElementId(element_id); |
| 3944 DCHECK(tree->property_trees()->IsInIdToIndexMap( |
| 3945 PropertyTrees::TreeType::EFFECT, layer_id)); |
3942 const int effect_id = | 3946 const int effect_id = |
3943 tree->property_trees()->effect_id_to_index_map[layer_id]; | 3947 tree->property_trees()->effect_id_to_index_map[layer_id]; |
3944 if (effect_id != EffectTree::kInvalidNodeId) | 3948 if (effect_id != EffectTree::kInvalidNodeId) |
3945 tree->property_trees()->effect_tree.OnOpacityAnimated(opacity, effect_id, | 3949 tree->property_trees()->effect_tree.OnOpacityAnimated(opacity, effect_id, |
3946 tree); | 3950 tree); |
3947 } | 3951 } |
3948 | 3952 |
3949 void LayerTreeHostImpl::SetTreeLayerTransformMutated( | 3953 void LayerTreeHostImpl::SetTreeLayerTransformMutated( |
3950 ElementId element_id, | 3954 ElementId element_id, |
3951 LayerTreeImpl* tree, | 3955 LayerTreeImpl* tree, |
3952 const gfx::Transform& transform) { | 3956 const gfx::Transform& transform) { |
3953 if (!tree) | 3957 if (!tree) |
3954 return; | 3958 return; |
3955 | 3959 |
3956 const int layer_id = tree->LayerIdByElementId(element_id); | 3960 const int layer_id = tree->LayerIdByElementId(element_id); |
| 3961 DCHECK(tree->property_trees()->IsInIdToIndexMap( |
| 3962 PropertyTrees::TreeType::TRANSFORM, layer_id)); |
3957 const int transform_id = | 3963 const int transform_id = |
3958 tree->property_trees()->transform_id_to_index_map[layer_id]; | 3964 tree->property_trees()->transform_id_to_index_map[layer_id]; |
3959 if (transform_id != TransformTree::kInvalidNodeId) | 3965 if (transform_id != TransformTree::kInvalidNodeId) |
3960 tree->property_trees()->transform_tree.OnTransformAnimated( | 3966 tree->property_trees()->transform_tree.OnTransformAnimated( |
3961 transform, transform_id, tree); | 3967 transform, transform_id, tree); |
3962 LayerImpl* layer = tree->LayerById(layer_id); | 3968 LayerImpl* layer = tree->LayerById(layer_id); |
3963 if (layer) | 3969 if (layer) |
3964 layer->set_was_ever_ready_since_last_transform_animation(false); | 3970 layer->set_was_ever_ready_since_last_transform_animation(false); |
3965 } | 3971 } |
3966 | 3972 |
3967 void LayerTreeHostImpl::SetTreeLayerScrollOffsetMutated( | 3973 void LayerTreeHostImpl::SetTreeLayerScrollOffsetMutated( |
3968 ElementId element_id, | 3974 ElementId element_id, |
3969 LayerTreeImpl* tree, | 3975 LayerTreeImpl* tree, |
3970 const gfx::ScrollOffset& scroll_offset) { | 3976 const gfx::ScrollOffset& scroll_offset) { |
3971 if (!tree) | 3977 if (!tree) |
3972 return; | 3978 return; |
3973 | 3979 |
3974 LayerImpl* layer = tree->LayerByElementId(element_id); | 3980 const int layer_id = tree->LayerIdByElementId(element_id); |
3975 if (layer) { | 3981 DCHECK(tree->property_trees()->IsInIdToIndexMap( |
3976 layer->OnScrollOffsetAnimated(scroll_offset); | 3982 PropertyTrees::TreeType::TRANSFORM, layer_id)); |
| 3983 DCHECK(tree->property_trees()->IsInIdToIndexMap( |
| 3984 PropertyTrees::TreeType::SCROLL, layer_id)); |
| 3985 const int transform_id = |
| 3986 tree->property_trees()->transform_id_to_index_map[layer_id]; |
| 3987 const int scroll_id = |
| 3988 tree->property_trees()->scroll_id_to_index_map[layer_id]; |
| 3989 if (transform_id != TransformTree::kInvalidNodeId && |
| 3990 scroll_id != ScrollTree::kInvalidNodeId) { |
| 3991 tree->property_trees()->scroll_tree.OnScrollOffsetAnimated( |
| 3992 layer_id, transform_id, scroll_id, scroll_offset, tree); |
3977 // Run mutation callbacks to respond to updated scroll offset. | 3993 // Run mutation callbacks to respond to updated scroll offset. |
3978 Mutate(CurrentBeginFrameArgs().frame_time); | 3994 Mutate(CurrentBeginFrameArgs().frame_time); |
3979 } | 3995 } |
3980 } | 3996 } |
3981 | 3997 |
3982 bool LayerTreeHostImpl::AnimationsPreserveAxisAlignment( | 3998 bool LayerTreeHostImpl::AnimationsPreserveAxisAlignment( |
3983 const LayerImpl* layer) const { | 3999 const LayerImpl* layer) const { |
3984 return animation_host_->AnimationsPreserveAxisAlignment(layer->element_id()); | 4000 return animation_host_->AnimationsPreserveAxisAlignment(layer->element_id()); |
3985 } | 4001 } |
3986 | 4002 |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4179 if (is_visible) { | 4195 if (is_visible) { |
4180 worker_context_visibility_ = | 4196 worker_context_visibility_ = |
4181 worker_context->CacheController()->ClientBecameVisible(); | 4197 worker_context->CacheController()->ClientBecameVisible(); |
4182 } else { | 4198 } else { |
4183 worker_context->CacheController()->ClientBecameNotVisible( | 4199 worker_context->CacheController()->ClientBecameNotVisible( |
4184 std::move(worker_context_visibility_)); | 4200 std::move(worker_context_visibility_)); |
4185 } | 4201 } |
4186 } | 4202 } |
4187 | 4203 |
4188 } // namespace cc | 4204 } // namespace cc |
OLD | NEW |