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

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

Issue 2173483002: cc: Clear entries from animations maps only when main thread wins (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2785
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
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/trees/layer_tree_impl.cc » ('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 966 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 977
978 void DidCommit() override { 978 void DidCommit() override {
979 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; 979 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree;
980 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); 980 EffectNode* node = effect_tree.Node(root_->effect_tree_index());
981 switch (layer_tree_host()->source_frame_number()) { 981 switch (layer_tree_host()->source_frame_number()) {
982 case 1: 982 case 1:
983 node->data.opacity = 0.5f; 983 node->data.opacity = 0.5f;
984 node->data.is_currently_animating_opacity = true; 984 node->data.is_currently_animating_opacity = true;
985 break; 985 break;
986 case 2: 986 case 2:
987 node->data.is_currently_animating_opacity = true;
988 break;
989 case 3:
987 node->data.is_currently_animating_opacity = false; 990 node->data.is_currently_animating_opacity = false;
988 break; 991 break;
992 case 4:
993 node->data.opacity = 0.25f;
994 node->data.is_currently_animating_opacity = true;
989 } 995 }
990 } 996 }
991 997
992 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 998 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
993 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; 999 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree;
994 EffectNode* node = effect_tree.Node( 1000 EffectNode* node = effect_tree.Node(
995 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); 1001 impl->sync_tree()->root_layer_for_testing()->effect_tree_index());
996 switch (impl->sync_tree()->source_frame_number()) { 1002 switch (impl->sync_tree()->source_frame_number()) {
997 case 0: 1003 case 0:
998 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); 1004 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f);
999 PostSetNeedsCommitToMainThread(); 1005 PostSetNeedsCommitToMainThread();
1000 break; 1006 break;
1001 case 1: 1007 case 1:
1002 EXPECT_EQ(node->data.opacity, 0.75f); 1008 EXPECT_EQ(node->data.opacity, 0.75f);
1009 PostSetNeedsCommitToMainThread();
1010 break;
1011 case 2:
1012 EXPECT_EQ(node->data.opacity, 0.75f);
1003 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); 1013 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f);
1004 PostSetNeedsCommitToMainThread(); 1014 PostSetNeedsCommitToMainThread();
1005 break; 1015 break;
1006 case 2: 1016 case 3:
1007 EXPECT_EQ(node->data.opacity, 0.5f); 1017 EXPECT_EQ(node->data.opacity, 0.5f);
1018 PostSetNeedsCommitToMainThread();
1019 break;
1020 case 4:
1021 EXPECT_EQ(node->data.opacity, 0.25f);
1008 EndTest(); 1022 EndTest();
1009 break; 1023 break;
1010 } 1024 }
1011 } 1025 }
1012 1026
1013 void AfterTest() override {} 1027 void AfterTest() override {}
1014 1028
1015 private: 1029 private:
1016 scoped_refptr<Layer> root_; 1030 scoped_refptr<Layer> root_;
1017 }; 1031 };
(...skipping 20 matching lines...) Expand all
1038 case 1: 1052 case 1:
1039 node->data.local = rotate10; 1053 node->data.local = rotate10;
1040 node->data.is_currently_animating = true; 1054 node->data.is_currently_animating = true;
1041 break; 1055 break;
1042 case 2: 1056 case 2:
1043 node->data.is_currently_animating = true; 1057 node->data.is_currently_animating = true;
1044 break; 1058 break;
1045 case 3: 1059 case 3:
1046 node->data.is_currently_animating = false; 1060 node->data.is_currently_animating = false;
1047 break; 1061 break;
1062 case 4:
1063 node->data.local = gfx::Transform();
1064 node->data.is_currently_animating = true;
1065 break;
1048 } 1066 }
1049 } 1067 }
1050 1068
1051 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 1069 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
1052 TransformTree& transform_tree = 1070 TransformTree& transform_tree =
1053 impl->sync_tree()->property_trees()->transform_tree; 1071 impl->sync_tree()->property_trees()->transform_tree;
1054 TransformNode* node = transform_tree.Node( 1072 TransformNode* node = transform_tree.Node(
1055 impl->sync_tree()->root_layer_for_testing()->transform_tree_index()); 1073 impl->sync_tree()->root_layer_for_testing()->transform_tree_index());
1056 gfx::Transform rotate10; 1074 gfx::Transform rotate10;
1057 rotate10.Rotate(10.f); 1075 rotate10.Rotate(10.f);
1058 gfx::Transform rotate20; 1076 gfx::Transform rotate20;
1059 rotate20.Rotate(20.f); 1077 rotate20.Rotate(20.f);
1060 switch (impl->sync_tree()->source_frame_number()) { 1078 switch (impl->sync_tree()->source_frame_number()) {
1061 case 0: 1079 case 0:
1062 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated( 1080 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated(
1063 rotate20); 1081 rotate20);
1064 PostSetNeedsCommitToMainThread(); 1082 PostSetNeedsCommitToMainThread();
1065 break; 1083 break;
1066 case 1: 1084 case 1:
1067 EXPECT_EQ(node->data.local, rotate20); 1085 EXPECT_EQ(node->data.local, rotate20);
1068 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated(
1069 rotate20);
1070 PostSetNeedsCommitToMainThread(); 1086 PostSetNeedsCommitToMainThread();
1071 break; 1087 break;
1072 case 2: 1088 case 2:
1073 EXPECT_EQ(node->data.local, rotate20); 1089 EXPECT_EQ(node->data.local, rotate20);
1074 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated( 1090 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated(
1075 rotate20); 1091 rotate20);
1076 PostSetNeedsCommitToMainThread(); 1092 PostSetNeedsCommitToMainThread();
1077 break; 1093 break;
1078 case 3: 1094 case 3:
1079 EXPECT_EQ(node->data.local, rotate10); 1095 EXPECT_EQ(node->data.local, rotate10);
1096 PostSetNeedsCommitToMainThread();
1097 break;
1098 case 4:
1099 EXPECT_EQ(node->data.local, gfx::Transform());
1080 EndTest(); 1100 EndTest();
1081 } 1101 }
1082 } 1102 }
1083 1103
1084 void AfterTest() override {} 1104 void AfterTest() override {}
1085 1105
1086 private: 1106 private:
1087 scoped_refptr<Layer> root_; 1107 scoped_refptr<Layer> root_;
1088 }; 1108 };
1089 1109
(...skipping 5681 matching lines...) Expand 10 before | Expand all | Expand 10 after
6771 private: 6791 private:
6772 FakeContentLayerClient client_; 6792 FakeContentLayerClient client_;
6773 const gfx::Size viewport_size_; 6793 const gfx::Size viewport_size_;
6774 const gfx::Size large_image_size_; 6794 const gfx::Size large_image_size_;
6775 }; 6795 };
6776 6796
6777 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); 6797 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage);
6778 6798
6779 } // namespace 6799 } // namespace
6780 } // namespace cc 6800 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/trees/layer_tree_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698