| 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 925 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 936 layer_tree()->property_trees()->needs_rebuild = true; | 936 layer_tree()->property_trees()->needs_rebuild = true; |
| 937 break; | 937 break; |
| 938 default: | 938 default: |
| 939 EXPECT_FALSE(layer_tree()->property_trees()->needs_rebuild); | 939 EXPECT_FALSE(layer_tree()->property_trees()->needs_rebuild); |
| 940 } | 940 } |
| 941 } | 941 } |
| 942 | 942 |
| 943 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 943 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
| 944 gfx::Transform transform; | 944 gfx::Transform transform; |
| 945 FilterOperations filters; | 945 FilterOperations filters; |
| 946 LayerImpl* root = impl->active_tree()->root_layer_for_testing(); |
| 946 switch (static_cast<Animations>(index_)) { | 947 switch (static_cast<Animations>(index_)) { |
| 947 case OPACITY: | 948 case OPACITY: |
| 948 index_++; | 949 index_++; |
| 949 impl->active_tree()->ResetAllChangeTracking(); | 950 impl->active_tree()->ResetAllChangeTracking(); |
| 950 impl->active_tree()->root_layer_for_testing()->OnOpacityAnimated(0.5f); | 951 impl->active_tree()->property_trees()->effect_tree.OnOpacityAnimated( |
| 952 0.5f, root->effect_tree_index(), impl->active_tree()); |
| 951 PostSetNeedsCommitToMainThread(); | 953 PostSetNeedsCommitToMainThread(); |
| 952 break; | 954 break; |
| 953 case TRANSFORM: | 955 case TRANSFORM: |
| 954 index_++; | 956 index_++; |
| 955 EXPECT_TRUE(impl->active_tree() | 957 EXPECT_TRUE(impl->active_tree() |
| 956 ->LayerById(root_->id()) | 958 ->LayerById(root_->id()) |
| 957 ->LayerPropertyChanged()); | 959 ->LayerPropertyChanged()); |
| 958 impl->active_tree()->ResetAllChangeTracking(); | 960 impl->active_tree()->ResetAllChangeTracking(); |
| 959 EXPECT_FALSE(impl->active_tree() | 961 EXPECT_FALSE(impl->active_tree() |
| 960 ->LayerById(root_->id()) | 962 ->LayerById(root_->id()) |
| 961 ->LayerPropertyChanged()); | 963 ->LayerPropertyChanged()); |
| 962 EXPECT_FALSE(impl->active_tree() | 964 EXPECT_FALSE(impl->active_tree() |
| 963 ->LayerById(child_->id()) | 965 ->LayerById(child_->id()) |
| 964 ->LayerPropertyChanged()); | 966 ->LayerPropertyChanged()); |
| 965 transform.Translate(10, 10); | 967 transform.Translate(10, 10); |
| 966 impl->active_tree()->root_layer_for_testing()->OnTransformAnimated( | 968 root->OnTransformAnimated(transform); |
| 967 transform); | |
| 968 PostSetNeedsCommitToMainThread(); | 969 PostSetNeedsCommitToMainThread(); |
| 969 break; | 970 break; |
| 970 case FILTER: | 971 case FILTER: |
| 971 index_++; | 972 index_++; |
| 972 EXPECT_TRUE(impl->active_tree() | 973 EXPECT_TRUE(root->LayerPropertyChanged()); |
| 973 ->root_layer_for_testing() | |
| 974 ->LayerPropertyChanged()); | |
| 975 EXPECT_TRUE(impl->active_tree() | 974 EXPECT_TRUE(impl->active_tree() |
| 976 ->LayerById(child_->id()) | 975 ->LayerById(child_->id()) |
| 977 ->LayerPropertyChanged()); | 976 ->LayerPropertyChanged()); |
| 978 impl->active_tree()->ResetAllChangeTracking(); | 977 impl->active_tree()->ResetAllChangeTracking(); |
| 979 EXPECT_FALSE(impl->active_tree() | 978 EXPECT_FALSE(root->LayerPropertyChanged()); |
| 980 ->root_layer_for_testing() | |
| 981 ->LayerPropertyChanged()); | |
| 982 EXPECT_FALSE(impl->active_tree() | 979 EXPECT_FALSE(impl->active_tree() |
| 983 ->LayerById(child_->id()) | 980 ->LayerById(child_->id()) |
| 984 ->LayerPropertyChanged()); | 981 ->LayerPropertyChanged()); |
| 985 filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); | 982 filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); |
| 986 impl->active_tree()->root_layer_for_testing()->OnFilterAnimated( | 983 root->OnFilterAnimated(filters); |
| 987 filters); | |
| 988 PostSetNeedsCommitToMainThread(); | 984 PostSetNeedsCommitToMainThread(); |
| 989 break; | 985 break; |
| 990 case END: | 986 case END: |
| 991 EXPECT_TRUE(impl->active_tree() | 987 EXPECT_TRUE(root->LayerPropertyChanged()); |
| 992 ->root_layer_for_testing() | |
| 993 ->LayerPropertyChanged()); | |
| 994 EndTest(); | 988 EndTest(); |
| 995 break; | 989 break; |
| 996 } | 990 } |
| 997 } | 991 } |
| 998 | 992 |
| 999 void AfterTest() override {} | 993 void AfterTest() override {} |
| 1000 | 994 |
| 1001 private: | 995 private: |
| 1002 int index_; | 996 int index_; |
| 1003 scoped_refptr<Layer> root_; | 997 scoped_refptr<Layer> root_; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1049 break; | 1043 break; |
| 1050 case 8: | 1044 case 8: |
| 1051 node->filters = sepia_filter_; | 1045 node->filters = sepia_filter_; |
| 1052 node->is_currently_animating_filter = true; | 1046 node->is_currently_animating_filter = true; |
| 1053 break; | 1047 break; |
| 1054 } | 1048 } |
| 1055 } | 1049 } |
| 1056 | 1050 |
| 1057 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 1051 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
| 1058 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; | 1052 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; |
| 1059 EffectNode* node = effect_tree.Node( | 1053 LayerImpl* root = impl->sync_tree()->root_layer_for_testing(); |
| 1060 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); | 1054 EffectNode* node = effect_tree.Node(root->effect_tree_index()); |
| 1061 switch (impl->sync_tree()->source_frame_number()) { | 1055 switch (impl->sync_tree()->source_frame_number()) { |
| 1062 case 0: | 1056 case 0: |
| 1063 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); | 1057 effect_tree.OnOpacityAnimated(0.75f, root->effect_tree_index(), |
| 1058 impl->sync_tree()); |
| 1064 PostSetNeedsCommitToMainThread(); | 1059 PostSetNeedsCommitToMainThread(); |
| 1065 break; | 1060 break; |
| 1066 case 1: | 1061 case 1: |
| 1067 EXPECT_EQ(node->opacity, 0.75f); | 1062 EXPECT_EQ(node->opacity, 0.75f); |
| 1068 PostSetNeedsCommitToMainThread(); | 1063 PostSetNeedsCommitToMainThread(); |
| 1069 break; | 1064 break; |
| 1070 case 2: | 1065 case 2: |
| 1071 EXPECT_EQ(node->opacity, 0.75f); | 1066 EXPECT_EQ(node->opacity, 0.75f); |
| 1072 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); | 1067 effect_tree.OnOpacityAnimated(0.75f, root->effect_tree_index(), |
| 1068 impl->sync_tree()); |
| 1073 PostSetNeedsCommitToMainThread(); | 1069 PostSetNeedsCommitToMainThread(); |
| 1074 break; | 1070 break; |
| 1075 case 3: | 1071 case 3: |
| 1076 EXPECT_EQ(node->opacity, 0.5f); | 1072 EXPECT_EQ(node->opacity, 0.5f); |
| 1077 PostSetNeedsCommitToMainThread(); | 1073 PostSetNeedsCommitToMainThread(); |
| 1078 break; | 1074 break; |
| 1079 case 4: | 1075 case 4: |
| 1080 EXPECT_EQ(node->opacity, 0.25f); | 1076 EXPECT_EQ(node->opacity, 0.25f); |
| 1081 impl->sync_tree()->root_layer_for_testing()->OnFilterAnimated( | 1077 root->OnFilterAnimated(brightness_filter_); |
| 1082 brightness_filter_); | |
| 1083 PostSetNeedsCommitToMainThread(); | 1078 PostSetNeedsCommitToMainThread(); |
| 1084 break; | 1079 break; |
| 1085 case 5: | 1080 case 5: |
| 1086 EXPECT_EQ(node->filters, brightness_filter_); | 1081 EXPECT_EQ(node->filters, brightness_filter_); |
| 1087 PostSetNeedsCommitToMainThread(); | 1082 PostSetNeedsCommitToMainThread(); |
| 1088 break; | 1083 break; |
| 1089 case 6: | 1084 case 6: |
| 1090 EXPECT_EQ(node->filters, brightness_filter_); | 1085 EXPECT_EQ(node->filters, brightness_filter_); |
| 1091 impl->sync_tree()->root_layer_for_testing()->OnFilterAnimated( | 1086 root->OnFilterAnimated(brightness_filter_); |
| 1092 brightness_filter_); | |
| 1093 PostSetNeedsCommitToMainThread(); | 1087 PostSetNeedsCommitToMainThread(); |
| 1094 break; | 1088 break; |
| 1095 case 7: | 1089 case 7: |
| 1096 EXPECT_EQ(node->filters, blur_filter_); | 1090 EXPECT_EQ(node->filters, blur_filter_); |
| 1097 PostSetNeedsCommitToMainThread(); | 1091 PostSetNeedsCommitToMainThread(); |
| 1098 break; | 1092 break; |
| 1099 case 8: | 1093 case 8: |
| 1100 EXPECT_EQ(node->filters, sepia_filter_); | 1094 EXPECT_EQ(node->filters, sepia_filter_); |
| 1101 EndTest(); | 1095 EndTest(); |
| 1102 break; | 1096 break; |
| (...skipping 5928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7031 private: | 7025 private: |
| 7032 FakeContentLayerClient client_; | 7026 FakeContentLayerClient client_; |
| 7033 const gfx::Size viewport_size_; | 7027 const gfx::Size viewport_size_; |
| 7034 const gfx::Size large_image_size_; | 7028 const gfx::Size large_image_size_; |
| 7035 }; | 7029 }; |
| 7036 | 7030 |
| 7037 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); | 7031 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); |
| 7038 | 7032 |
| 7039 } // namespace | 7033 } // namespace |
| 7040 } // namespace cc | 7034 } // namespace cc |
| OLD | NEW |