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

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: ' 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
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));
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698