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

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

Issue 2105173006: cc: Clear entries from animations maps only when main thread wins (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: "DCHECK" 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 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 975
976 void DidCommit() override { 976 void DidCommit() override {
977 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; 977 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree;
978 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); 978 EffectNode* node = effect_tree.Node(root_->effect_tree_index());
979 switch (layer_tree_host()->source_frame_number()) { 979 switch (layer_tree_host()->source_frame_number()) {
980 case 1: 980 case 1:
981 node->data.opacity = 0.5f; 981 node->data.opacity = 0.5f;
982 node->data.is_currently_animating_opacity = true; 982 node->data.is_currently_animating_opacity = true;
983 break; 983 break;
984 case 2: 984 case 2:
985 node->data.is_currently_animating_opacity = true;
986 break;
987 case 3:
985 node->data.is_currently_animating_opacity = false; 988 node->data.is_currently_animating_opacity = false;
986 break; 989 break;
987 } 990 }
988 } 991 }
989 992
990 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 993 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
991 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; 994 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree;
992 EffectNode* node = effect_tree.Node( 995 EffectNode* node = effect_tree.Node(
993 impl->sync_tree()->root_layer_for_testing()->effect_tree_index()); 996 impl->sync_tree()->root_layer_for_testing()->effect_tree_index());
994 switch (impl->sync_tree()->source_frame_number()) { 997 switch (impl->sync_tree()->source_frame_number()) {
995 case 0: 998 case 0:
996 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); 999 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f);
997 PostSetNeedsCommitToMainThread(); 1000 PostSetNeedsCommitToMainThread();
998 break; 1001 break;
999 case 1: 1002 case 1:
1000 EXPECT_EQ(node->data.opacity, 0.75f); 1003 EXPECT_EQ(node->data.opacity, 0.75f);
1004 PostSetNeedsCommitToMainThread();
1005 break;
1006 case 2:
1007 EXPECT_EQ(node->data.opacity, 0.75f);
1001 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f); 1008 impl->sync_tree()->root_layer_for_testing()->OnOpacityAnimated(0.75f);
1002 PostSetNeedsCommitToMainThread(); 1009 PostSetNeedsCommitToMainThread();
1003 break; 1010 break;
1004 case 2: 1011 case 3:
1005 EXPECT_EQ(node->data.opacity, 0.5f); 1012 EXPECT_EQ(node->data.opacity, 0.5f);
1006 EndTest(); 1013 EndTest();
1007 break; 1014 break;
1008 } 1015 }
1009 } 1016 }
1010 1017
1011 void AfterTest() override {} 1018 void AfterTest() override {}
1012 1019
1013 private: 1020 private:
1014 scoped_refptr<Layer> root_; 1021 scoped_refptr<Layer> root_;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1056 gfx::Transform rotate20; 1063 gfx::Transform rotate20;
1057 rotate20.Rotate(20.f); 1064 rotate20.Rotate(20.f);
1058 switch (impl->sync_tree()->source_frame_number()) { 1065 switch (impl->sync_tree()->source_frame_number()) {
1059 case 0: 1066 case 0:
1060 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated( 1067 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated(
1061 rotate20); 1068 rotate20);
1062 PostSetNeedsCommitToMainThread(); 1069 PostSetNeedsCommitToMainThread();
1063 break; 1070 break;
1064 case 1: 1071 case 1:
1065 EXPECT_EQ(node->data.local, rotate20); 1072 EXPECT_EQ(node->data.local, rotate20);
1066 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated(
1067 rotate20);
1068 PostSetNeedsCommitToMainThread(); 1073 PostSetNeedsCommitToMainThread();
1069 break; 1074 break;
1070 case 2: 1075 case 2:
1071 EXPECT_EQ(node->data.local, rotate20); 1076 EXPECT_EQ(node->data.local, rotate20);
1072 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated( 1077 impl->sync_tree()->root_layer_for_testing()->OnTransformAnimated(
1073 rotate20); 1078 rotate20);
1074 PostSetNeedsCommitToMainThread(); 1079 PostSetNeedsCommitToMainThread();
1075 break; 1080 break;
1076 case 3: 1081 case 3:
1077 EXPECT_EQ(node->data.local, rotate10); 1082 EXPECT_EQ(node->data.local, rotate10);
(...skipping 5613 matching lines...) Expand 10 before | Expand all | Expand 10 after
6691 EndTest(); 6696 EndTest();
6692 } 6697 }
6693 6698
6694 void AfterTest() override {} 6699 void AfterTest() override {}
6695 }; 6700 };
6696 6701
6697 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); 6702 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor);
6698 6703
6699 } // namespace 6704 } // namespace
6700 } // namespace cc 6705 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698