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)); |
989 LayerTreeHostTest::SetupTree(); | 991 LayerTreeHostTest::SetupTree(); |
990 } | 992 } |
991 | 993 |
992 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 994 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
993 | 995 |
994 void DidCommit() override { | 996 void DidCommit() override { |
995 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; | 997 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; |
996 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); | 998 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); |
997 switch (layer_tree_host()->source_frame_number()) { | 999 switch (layer_tree_host()->source_frame_number()) { |
998 case 1: | 1000 case 1: |
999 node->opacity = 0.5f; | 1001 node->opacity = 0.5f; |
1000 node->is_currently_animating_opacity = true; | 1002 node->is_currently_animating_opacity = true; |
1001 break; | 1003 break; |
1002 case 2: | 1004 case 2: |
1003 node->is_currently_animating_opacity = true; | 1005 node->is_currently_animating_opacity = true; |
1004 break; | 1006 break; |
1005 case 3: | 1007 case 3: |
1006 node->is_currently_animating_opacity = false; | 1008 node->is_currently_animating_opacity = false; |
1007 break; | 1009 break; |
1008 case 4: | 1010 case 4: |
1009 node->opacity = 0.25f; | 1011 node->opacity = 0.25f; |
1010 node->is_currently_animating_opacity = true; | 1012 node->is_currently_animating_opacity = true; |
| 1013 case 5: |
| 1014 node->filters = blur_filter; |
| 1015 node->is_currently_animating_filter = true; |
| 1016 break; |
| 1017 case 6: |
| 1018 node->is_currently_animating_filter = false; |
| 1019 break; |
1011 } | 1020 } |
1012 } | 1021 } |
1013 | 1022 |
1014 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 1023 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
1015 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; | 1024 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; |
1016 EffectNode* node = effect_tree.Node( | 1025 EffectNode* node = effect_tree.Node( |
1017 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); | 1026 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); |
1018 switch (impl->sync_tree()->source_frame_number()) { | 1027 switch (impl->sync_tree()->source_frame_number()) { |
1019 case 0: | 1028 case 0: |
1020 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); | 1029 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); |
1021 PostSetNeedsCommitToMainThread(); | 1030 PostSetNeedsCommitToMainThread(); |
1022 break; | 1031 break; |
1023 case 1: | 1032 case 1: |
1024 EXPECT_EQ(node->opacity, 0.75f); | 1033 EXPECT_EQ(node->opacity, 0.75f); |
1025 PostSetNeedsCommitToMainThread(); | 1034 PostSetNeedsCommitToMainThread(); |
1026 break; | 1035 break; |
1027 case 2: | 1036 case 2: |
1028 EXPECT_EQ(node->opacity, 0.75f); | 1037 EXPECT_EQ(node->opacity, 0.75f); |
1029 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); | 1038 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); |
1030 PostSetNeedsCommitToMainThread(); | 1039 PostSetNeedsCommitToMainThread(); |
1031 break; | 1040 break; |
1032 case 3: | 1041 case 3: |
1033 EXPECT_EQ(node->opacity, 0.5f); | 1042 EXPECT_EQ(node->opacity, 0.5f); |
1034 PostSetNeedsCommitToMainThread(); | 1043 PostSetNeedsCommitToMainThread(); |
1035 break; | 1044 break; |
1036 case 4: | 1045 case 4: |
1037 EXPECT_EQ(node->opacity, 0.25f); | 1046 EXPECT_EQ(node->opacity, 0.25f); |
| 1047 impl->sync_tree()->root_layer_for_testing()->OnFilterAnimated( |
| 1048 brightness_filter); |
| 1049 PostSetNeedsCommitToMainThread(); |
| 1050 break; |
| 1051 case 5: |
| 1052 EXPECT_EQ(node->filters, brightness_filter); |
| 1053 impl->sync_tree()->root_layer_for_testing()->OnFilterAnimated( |
| 1054 brightness_filter); |
| 1055 PostSetNeedsCommitToMainThread(); |
| 1056 break; |
| 1057 case 6: |
| 1058 EXPECT_EQ(node->filters, blur_filter); |
1038 EndTest(); | 1059 EndTest(); |
1039 break; | 1060 break; |
1040 } | 1061 } |
1041 } | 1062 } |
1042 | 1063 |
1043 void AfterTest() override {} | 1064 void AfterTest() override {} |
1044 | 1065 |
1045 private: | 1066 private: |
1046 scoped_refptr<Layer> root_; | 1067 scoped_refptr<Layer> root_; |
| 1068 FilterOperations blur_filter; |
| 1069 FilterOperations brightness_filter; |
1047 }; | 1070 }; |
1048 | 1071 |
1049 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestEffectTreeSync); | 1072 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestEffectTreeSync); |
1050 | 1073 |
1051 class LayerTreeHostTestTransformTreeSync : public LayerTreeHostTest { | 1074 class LayerTreeHostTestTransformTreeSync : public LayerTreeHostTest { |
1052 protected: | 1075 protected: |
1053 void SetupTree() override { | 1076 void SetupTree() override { |
1054 root_ = Layer::Create(); | 1077 root_ = Layer::Create(); |
1055 layer_tree_host()->SetRootLayer(root_); | 1078 layer_tree_host()->SetRootLayer(root_); |
1056 LayerTreeHostTest::SetupTree(); | 1079 LayerTreeHostTest::SetupTree(); |
(...skipping 5836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6893 private: | 6916 private: |
6894 FakeContentLayerClient client_; | 6917 FakeContentLayerClient client_; |
6895 const gfx::Size viewport_size_; | 6918 const gfx::Size viewport_size_; |
6896 const gfx::Size large_image_size_; | 6919 const gfx::Size large_image_size_; |
6897 }; | 6920 }; |
6898 | 6921 |
6899 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); | 6922 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); |
6900 | 6923 |
6901 } // namespace | 6924 } // namespace |
6902 } // namespace cc | 6925 } // namespace cc |
OLD | NEW |