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 968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 scoped_refptr<Layer> child_; | 979 scoped_refptr<Layer> child_; |
980 }; | 980 }; |
981 | 981 |
982 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); | 982 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); |
983 | 983 |
984 class LayerTreeHostTestEffectTreeSync : public LayerTreeHostTest { | 984 class LayerTreeHostTestEffectTreeSync : public LayerTreeHostTest { |
985 protected: | 985 protected: |
986 void SetupTree() override { | 986 void SetupTree() override { |
987 root_ = Layer::Create(); | 987 root_ = Layer::Create(); |
988 layer_tree_host()->SetRootLayer(root_); | 988 layer_tree_host()->SetRootLayer(root_); |
| 989 blur_filter_.Append(FilterOperation::CreateBlurFilter(0.5f)); |
| 990 brightness_filter_.Append(FilterOperation::CreateBrightnessFilter(0.25f)); |
| 991 sepia_filter_.Append(FilterOperation::CreateSepiaFilter(0.75f)); |
989 LayerTreeHostTest::SetupTree(); | 992 LayerTreeHostTest::SetupTree(); |
990 } | 993 } |
991 | 994 |
992 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 995 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
993 | 996 |
994 void DidCommit() override { | 997 void DidCommit() override { |
995 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; | 998 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; |
996 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); | 999 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); |
997 switch (layer_tree_host()->source_frame_number()) { | 1000 switch (layer_tree_host()->source_frame_number()) { |
998 case 1: | 1001 case 1: |
999 node->opacity = 0.5f; | 1002 node->opacity = 0.5f; |
1000 node->is_currently_animating_opacity = true; | 1003 node->is_currently_animating_opacity = true; |
1001 break; | 1004 break; |
1002 case 2: | 1005 case 2: |
1003 node->is_currently_animating_opacity = true; | 1006 node->is_currently_animating_opacity = true; |
1004 break; | 1007 break; |
1005 case 3: | 1008 case 3: |
1006 node->is_currently_animating_opacity = false; | 1009 node->is_currently_animating_opacity = false; |
1007 break; | 1010 break; |
1008 case 4: | 1011 case 4: |
1009 node->opacity = 0.25f; | 1012 node->opacity = 0.25f; |
1010 node->is_currently_animating_opacity = true; | 1013 node->is_currently_animating_opacity = true; |
| 1014 break; |
| 1015 case 5: |
| 1016 node->filters = blur_filter_; |
| 1017 node->is_currently_animating_filter = true; |
| 1018 break; |
| 1019 case 6: |
| 1020 node->is_currently_animating_filter = true; |
| 1021 break; |
| 1022 case 7: |
| 1023 node->is_currently_animating_filter = false; |
| 1024 break; |
| 1025 case 8: |
| 1026 node->filters = sepia_filter_; |
| 1027 node->is_currently_animating_filter = true; |
| 1028 break; |
1011 } | 1029 } |
1012 } | 1030 } |
1013 | 1031 |
1014 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 1032 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
1015 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; | 1033 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; |
1016 EffectNode* node = effect_tree.Node( | 1034 EffectNode* node = effect_tree.Node( |
1017 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); | 1035 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); |
1018 switch (impl->sync_tree()->source_frame_number()) { | 1036 switch (impl->sync_tree()->source_frame_number()) { |
1019 case 0: | 1037 case 0: |
1020 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); | 1038 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); |
1021 PostSetNeedsCommitToMainThread(); | 1039 PostSetNeedsCommitToMainThread(); |
1022 break; | 1040 break; |
1023 case 1: | 1041 case 1: |
1024 EXPECT_EQ(node->opacity, 0.75f); | 1042 EXPECT_EQ(node->opacity, 0.75f); |
1025 PostSetNeedsCommitToMainThread(); | 1043 PostSetNeedsCommitToMainThread(); |
1026 break; | 1044 break; |
1027 case 2: | 1045 case 2: |
1028 EXPECT_EQ(node->opacity, 0.75f); | 1046 EXPECT_EQ(node->opacity, 0.75f); |
1029 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); | 1047 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); |
1030 PostSetNeedsCommitToMainThread(); | 1048 PostSetNeedsCommitToMainThread(); |
1031 break; | 1049 break; |
1032 case 3: | 1050 case 3: |
1033 EXPECT_EQ(node->opacity, 0.5f); | 1051 EXPECT_EQ(node->opacity, 0.5f); |
1034 PostSetNeedsCommitToMainThread(); | 1052 PostSetNeedsCommitToMainThread(); |
1035 break; | 1053 break; |
1036 case 4: | 1054 case 4: |
1037 EXPECT_EQ(node->opacity, 0.25f); | 1055 EXPECT_EQ(node->opacity, 0.25f); |
| 1056 impl->sync_tree()->root_layer_for_testing()->OnFilterAnimated( |
| 1057 brightness_filter_); |
| 1058 PostSetNeedsCommitToMainThread(); |
| 1059 break; |
| 1060 case 5: |
| 1061 EXPECT_EQ(node->filters, brightness_filter_); |
| 1062 PostSetNeedsCommitToMainThread(); |
| 1063 break; |
| 1064 case 6: |
| 1065 EXPECT_EQ(node->filters, brightness_filter_); |
| 1066 impl->sync_tree()->root_layer_for_testing()->OnFilterAnimated( |
| 1067 brightness_filter_); |
| 1068 PostSetNeedsCommitToMainThread(); |
| 1069 break; |
| 1070 case 7: |
| 1071 EXPECT_EQ(node->filters, blur_filter_); |
| 1072 PostSetNeedsCommitToMainThread(); |
| 1073 break; |
| 1074 case 8: |
| 1075 EXPECT_EQ(node->filters, sepia_filter_); |
1038 EndTest(); | 1076 EndTest(); |
1039 break; | 1077 break; |
1040 } | 1078 } |
1041 } | 1079 } |
1042 | 1080 |
1043 void AfterTest() override {} | 1081 void AfterTest() override {} |
1044 | 1082 |
1045 private: | 1083 private: |
1046 scoped_refptr<Layer> root_; | 1084 scoped_refptr<Layer> root_; |
| 1085 FilterOperations blur_filter_; |
| 1086 FilterOperations brightness_filter_; |
| 1087 FilterOperations sepia_filter_; |
1047 }; | 1088 }; |
1048 | 1089 |
1049 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestEffectTreeSync); | 1090 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestEffectTreeSync); |
1050 | 1091 |
1051 class LayerTreeHostTestTransformTreeSync : public LayerTreeHostTest { | 1092 class LayerTreeHostTestTransformTreeSync : public LayerTreeHostTest { |
1052 protected: | 1093 protected: |
1053 void SetupTree() override { | 1094 void SetupTree() override { |
1054 root_ = Layer::Create(); | 1095 root_ = Layer::Create(); |
1055 layer_tree_host()->SetRootLayer(root_); | 1096 layer_tree_host()->SetRootLayer(root_); |
1056 LayerTreeHostTest::SetupTree(); | 1097 LayerTreeHostTest::SetupTree(); |
(...skipping 5836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6893 private: | 6934 private: |
6894 FakeContentLayerClient client_; | 6935 FakeContentLayerClient client_; |
6895 const gfx::Size viewport_size_; | 6936 const gfx::Size viewport_size_; |
6896 const gfx::Size large_image_size_; | 6937 const gfx::Size large_image_size_; |
6897 }; | 6938 }; |
6898 | 6939 |
6899 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); | 6940 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); |
6900 | 6941 |
6901 } // namespace | 6942 } // namespace |
6902 } // namespace cc | 6943 } // namespace cc |
OLD | NEW |