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 3759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3770 bool LayerTreeHostImpl::ScrollAnimationUpdateTarget( | 3770 bool LayerTreeHostImpl::ScrollAnimationUpdateTarget( |
3771 ScrollNode* scroll_node, | 3771 ScrollNode* scroll_node, |
3772 const gfx::Vector2dF& scroll_delta) { | 3772 const gfx::Vector2dF& scroll_delta) { |
3773 return animation_host_->ImplOnlyScrollAnimationUpdateTarget( | 3773 return animation_host_->ImplOnlyScrollAnimationUpdateTarget( |
3774 scroll_node->owner_id, scroll_delta, | 3774 scroll_node->owner_id, scroll_delta, |
3775 active_tree_->property_trees()->scroll_tree.MaxScrollOffset( | 3775 active_tree_->property_trees()->scroll_tree.MaxScrollOffset( |
3776 scroll_node->id), | 3776 scroll_node->id), |
3777 CurrentBeginFrameArgs().frame_time); | 3777 CurrentBeginFrameArgs().frame_time); |
3778 } | 3778 } |
3779 | 3779 |
3780 bool LayerTreeHostImpl::IsLayerInTree(int layer_id, | 3780 bool LayerTreeHostImpl::IsElementInList(ElementId element_id, |
3781 LayerTreeType tree_type) const { | 3781 ElementListType list_type) const { |
3782 if (tree_type == LayerTreeType::ACTIVE) { | 3782 if (list_type == ElementListType::ACTIVE) { |
3783 return active_tree() ? active_tree()->LayerById(layer_id) != nullptr | 3783 return active_tree() ? active_tree()->LayerById(element_id) != nullptr |
3784 : false; | 3784 : false; |
3785 } else { | 3785 } else { |
3786 if (pending_tree() && pending_tree()->LayerById(layer_id)) | 3786 if (pending_tree() && pending_tree()->LayerById(element_id)) |
3787 return true; | 3787 return true; |
3788 if (recycle_tree() && recycle_tree()->LayerById(layer_id)) | 3788 if (recycle_tree() && recycle_tree()->LayerById(element_id)) |
3789 return true; | 3789 return true; |
3790 | 3790 |
3791 return false; | 3791 return false; |
3792 } | 3792 } |
3793 } | 3793 } |
3794 | 3794 |
3795 void LayerTreeHostImpl::SetMutatorsNeedCommit() {} | 3795 void LayerTreeHostImpl::SetMutatorsNeedCommit() {} |
3796 | 3796 |
3797 void LayerTreeHostImpl::SetMutatorsNeedRebuildPropertyTrees() {} | 3797 void LayerTreeHostImpl::SetMutatorsNeedRebuildPropertyTrees() {} |
3798 | 3798 |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3853 LayerImpl* layer = tree->LayerById(layer_id); | 3853 LayerImpl* layer = tree->LayerById(layer_id); |
3854 if (layer) | 3854 if (layer) |
3855 layer->OnTransformIsPotentiallyAnimatingChanged(is_animating); | 3855 layer->OnTransformIsPotentiallyAnimatingChanged(is_animating); |
3856 } | 3856 } |
3857 | 3857 |
3858 bool LayerTreeHostImpl::AnimationsPreserveAxisAlignment( | 3858 bool LayerTreeHostImpl::AnimationsPreserveAxisAlignment( |
3859 const LayerImpl* layer) const { | 3859 const LayerImpl* layer) const { |
3860 return animation_host_->AnimationsPreserveAxisAlignment(layer->id()); | 3860 return animation_host_->AnimationsPreserveAxisAlignment(layer->id()); |
3861 } | 3861 } |
3862 | 3862 |
3863 void LayerTreeHostImpl::SetLayerFilterMutated(int layer_id, | 3863 void LayerTreeHostImpl::SetElementFilterMutated( |
3864 LayerTreeType tree_type, | 3864 ElementId element_id, |
3865 const FilterOperations& filters) { | 3865 ElementListType list_type, |
3866 if (tree_type == LayerTreeType::ACTIVE) { | 3866 const FilterOperations& filters) { |
3867 SetTreeLayerFilterMutated(layer_id, active_tree(), filters); | 3867 if (list_type == ElementListType::ACTIVE) { |
| 3868 SetTreeLayerFilterMutated(element_id, active_tree(), filters); |
3868 } else { | 3869 } else { |
3869 SetTreeLayerFilterMutated(layer_id, pending_tree(), filters); | 3870 SetTreeLayerFilterMutated(element_id, pending_tree(), filters); |
3870 SetTreeLayerFilterMutated(layer_id, recycle_tree(), filters); | 3871 SetTreeLayerFilterMutated(element_id, recycle_tree(), filters); |
3871 } | 3872 } |
3872 } | 3873 } |
3873 | 3874 |
3874 void LayerTreeHostImpl::SetLayerOpacityMutated(int layer_id, | 3875 void LayerTreeHostImpl::SetElementOpacityMutated(ElementId element_id, |
3875 LayerTreeType tree_type, | 3876 ElementListType list_type, |
3876 float opacity) { | 3877 float opacity) { |
3877 if (tree_type == LayerTreeType::ACTIVE) { | 3878 if (list_type == ElementListType::ACTIVE) { |
3878 SetTreeLayerOpacityMutated(layer_id, active_tree(), opacity); | 3879 SetTreeLayerOpacityMutated(element_id, active_tree(), opacity); |
3879 } else { | 3880 } else { |
3880 SetTreeLayerOpacityMutated(layer_id, pending_tree(), opacity); | 3881 SetTreeLayerOpacityMutated(element_id, pending_tree(), opacity); |
3881 SetTreeLayerOpacityMutated(layer_id, recycle_tree(), opacity); | 3882 SetTreeLayerOpacityMutated(element_id, recycle_tree(), opacity); |
3882 } | 3883 } |
3883 } | 3884 } |
3884 | 3885 |
3885 void LayerTreeHostImpl::SetLayerTransformMutated( | 3886 void LayerTreeHostImpl::SetElementTransformMutated( |
3886 int layer_id, | 3887 ElementId element_id, |
3887 LayerTreeType tree_type, | 3888 ElementListType list_type, |
3888 const gfx::Transform& transform) { | 3889 const gfx::Transform& transform) { |
3889 if (tree_type == LayerTreeType::ACTIVE) { | 3890 if (list_type == ElementListType::ACTIVE) { |
3890 SetTreeLayerTransformMutated(layer_id, active_tree(), transform); | 3891 SetTreeLayerTransformMutated(element_id, active_tree(), transform); |
3891 } else { | 3892 } else { |
3892 SetTreeLayerTransformMutated(layer_id, pending_tree(), transform); | 3893 SetTreeLayerTransformMutated(element_id, pending_tree(), transform); |
3893 SetTreeLayerTransformMutated(layer_id, recycle_tree(), transform); | 3894 SetTreeLayerTransformMutated(element_id, recycle_tree(), transform); |
3894 } | 3895 } |
3895 } | 3896 } |
3896 | 3897 |
3897 void LayerTreeHostImpl::SetLayerScrollOffsetMutated( | 3898 void LayerTreeHostImpl::SetElementScrollOffsetMutated( |
3898 int layer_id, | 3899 ElementId element_id, |
3899 LayerTreeType tree_type, | 3900 ElementListType list_type, |
3900 const gfx::ScrollOffset& scroll_offset) { | 3901 const gfx::ScrollOffset& scroll_offset) { |
3901 if (tree_type == LayerTreeType::ACTIVE) { | 3902 if (list_type == ElementListType::ACTIVE) { |
3902 SetTreeLayerScrollOffsetMutated(layer_id, active_tree(), scroll_offset); | 3903 SetTreeLayerScrollOffsetMutated(element_id, active_tree(), scroll_offset); |
3903 } else { | 3904 } else { |
3904 SetTreeLayerScrollOffsetMutated(layer_id, pending_tree(), scroll_offset); | 3905 SetTreeLayerScrollOffsetMutated(element_id, pending_tree(), scroll_offset); |
3905 SetTreeLayerScrollOffsetMutated(layer_id, recycle_tree(), scroll_offset); | 3906 SetTreeLayerScrollOffsetMutated(element_id, recycle_tree(), scroll_offset); |
3906 } | 3907 } |
3907 } | 3908 } |
3908 | 3909 |
3909 void LayerTreeHostImpl::LayerTransformIsPotentiallyAnimatingChanged( | 3910 void LayerTreeHostImpl::ElementTransformIsPotentiallyAnimatingChanged( |
3910 int layer_id, | 3911 ElementId element_id, |
3911 LayerTreeType tree_type, | 3912 ElementListType list_type, |
3912 bool is_animating) { | 3913 bool is_animating) { |
3913 if (tree_type == LayerTreeType::ACTIVE) { | 3914 if (list_type == ElementListType::ACTIVE) { |
3914 TreeLayerTransformIsPotentiallyAnimatingChanged(layer_id, active_tree(), | 3915 TreeLayerTransformIsPotentiallyAnimatingChanged(element_id, active_tree(), |
3915 is_animating); | 3916 is_animating); |
3916 } else { | 3917 } else { |
3917 TreeLayerTransformIsPotentiallyAnimatingChanged(layer_id, pending_tree(), | 3918 TreeLayerTransformIsPotentiallyAnimatingChanged(element_id, pending_tree(), |
3918 is_animating); | 3919 is_animating); |
3919 } | 3920 } |
3920 } | 3921 } |
3921 | 3922 |
3922 void LayerTreeHostImpl::ScrollOffsetAnimationFinished() { | 3923 void LayerTreeHostImpl::ScrollOffsetAnimationFinished() { |
3923 // TODO(majidvp): We should pass in the original starting scroll position here | 3924 // TODO(majidvp): We should pass in the original starting scroll position here |
3924 ScrollStateData scroll_state_data; | 3925 ScrollStateData scroll_state_data; |
3925 ScrollState scroll_state(scroll_state_data); | 3926 ScrollState scroll_state(scroll_state_data); |
3926 ScrollEnd(&scroll_state); | 3927 ScrollEnd(&scroll_state); |
3927 } | 3928 } |
3928 | 3929 |
3929 gfx::ScrollOffset LayerTreeHostImpl::GetScrollOffsetForAnimation( | 3930 gfx::ScrollOffset LayerTreeHostImpl::GetScrollOffsetForAnimation( |
3930 int layer_id) const { | 3931 ElementId element_id) const { |
3931 if (active_tree()) { | 3932 if (active_tree()) { |
3932 LayerImpl* layer = active_tree()->LayerById(layer_id); | 3933 LayerImpl* layer = active_tree()->LayerById(element_id); |
3933 if (layer) | 3934 if (layer) |
3934 return layer->ScrollOffsetForAnimation(); | 3935 return layer->ScrollOffsetForAnimation(); |
3935 } | 3936 } |
3936 | 3937 |
3937 return gfx::ScrollOffset(); | 3938 return gfx::ScrollOffset(); |
3938 } | 3939 } |
3939 | 3940 |
3940 bool LayerTreeHostImpl::SupportsImplScrolling() const { | 3941 bool LayerTreeHostImpl::SupportsImplScrolling() const { |
3941 // Supported in threaded mode. | 3942 // Supported in threaded mode. |
3942 return task_runner_provider_->HasImplThread(); | 3943 return task_runner_provider_->HasImplThread(); |
3943 } | 3944 } |
3944 | 3945 |
3945 bool LayerTreeHostImpl::CommitToActiveTree() const { | 3946 bool LayerTreeHostImpl::CommitToActiveTree() const { |
3946 // In single threaded mode we skip the pending tree and commit directly to the | 3947 // In single threaded mode we skip the pending tree and commit directly to the |
3947 // active tree. | 3948 // active tree. |
3948 return !task_runner_provider_->HasImplThread(); | 3949 return !task_runner_provider_->HasImplThread(); |
3949 } | 3950 } |
3950 | 3951 |
3951 } // namespace cc | 3952 } // namespace cc |
OLD | NEW |