Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 2110683004: cc: Move filters to the effect tree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698