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

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

Issue 2762123004: cc: LayerTreeHostImpl uses element id to tick animations (Closed)
Patch Set: remove accidental debug print Created 3 years, 9 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 1101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 } 1112 }
1113 1113
1114 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 1114 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
1115 gfx::Transform transform; 1115 gfx::Transform transform;
1116 FilterOperations filters; 1116 FilterOperations filters;
1117 LayerImpl* root = impl->active_tree()->root_layer_for_testing(); 1117 LayerImpl* root = impl->active_tree()->root_layer_for_testing();
1118 switch (static_cast<Animations>(index_)) { 1118 switch (static_cast<Animations>(index_)) {
1119 case OPACITY: 1119 case OPACITY:
1120 index_++; 1120 index_++;
1121 impl->active_tree()->ResetAllChangeTracking(); 1121 impl->active_tree()->ResetAllChangeTracking();
1122 impl->active_tree()->property_trees()->effect_tree.OnOpacityAnimated( 1122 impl->active_tree()->SetTreeLayerOpacityMutated(root->element_id(),
1123 0.5f, root->effect_tree_index(), impl->active_tree()); 1123 0.5f);
1124 PostSetNeedsCommitToMainThread(); 1124 PostSetNeedsCommitToMainThread();
1125 break; 1125 break;
1126 case TRANSFORM: 1126 case TRANSFORM:
1127 index_++; 1127 index_++;
1128 EXPECT_TRUE(impl->active_tree() 1128 EXPECT_TRUE(impl->active_tree()
1129 ->LayerById(root_->id()) 1129 ->LayerById(root_->id())
1130 ->LayerPropertyChanged()); 1130 ->LayerPropertyChanged());
1131 impl->active_tree()->ResetAllChangeTracking(); 1131 impl->active_tree()->ResetAllChangeTracking();
1132 EXPECT_FALSE(impl->active_tree() 1132 EXPECT_FALSE(impl->active_tree()
1133 ->LayerById(root_->id()) 1133 ->LayerById(root_->id())
1134 ->LayerPropertyChanged()); 1134 ->LayerPropertyChanged());
1135 EXPECT_FALSE(impl->active_tree() 1135 EXPECT_FALSE(impl->active_tree()
1136 ->LayerById(child_->id()) 1136 ->LayerById(child_->id())
1137 ->LayerPropertyChanged()); 1137 ->LayerPropertyChanged());
1138 transform.Translate(10, 10); 1138 transform.Translate(10, 10);
1139 impl->active_tree() 1139 impl->active_tree()->SetTreeLayerTransformMutated(root->element_id(),
1140 ->property_trees() 1140 transform);
1141 ->transform_tree.OnTransformAnimated(
1142 transform, root->transform_tree_index(), impl->active_tree());
1143 PostSetNeedsCommitToMainThread(); 1141 PostSetNeedsCommitToMainThread();
1144 break; 1142 break;
1145 case FILTER: 1143 case FILTER:
1146 index_++; 1144 index_++;
1147 EXPECT_TRUE(root->LayerPropertyChanged()); 1145 EXPECT_TRUE(root->LayerPropertyChanged());
1148 EXPECT_TRUE(impl->active_tree() 1146 EXPECT_TRUE(impl->active_tree()
1149 ->LayerById(child_->id()) 1147 ->LayerById(child_->id())
1150 ->LayerPropertyChanged()); 1148 ->LayerPropertyChanged());
1151 impl->active_tree()->ResetAllChangeTracking(); 1149 impl->active_tree()->ResetAllChangeTracking();
1152 EXPECT_FALSE(root->LayerPropertyChanged()); 1150 EXPECT_FALSE(root->LayerPropertyChanged());
1153 EXPECT_FALSE(impl->active_tree() 1151 EXPECT_FALSE(impl->active_tree()
1154 ->LayerById(child_->id()) 1152 ->LayerById(child_->id())
1155 ->LayerPropertyChanged()); 1153 ->LayerPropertyChanged());
1156 filters.Append(FilterOperation::CreateOpacityFilter(0.5f)); 1154 filters.Append(FilterOperation::CreateOpacityFilter(0.5f));
1157 impl->active_tree()->property_trees()->effect_tree.OnFilterAnimated( 1155 impl->active_tree()->SetTreeLayerFilterMutated(root->element_id(),
1158 filters, root->effect_tree_index(), impl->active_tree()); 1156 filters);
1159 PostSetNeedsCommitToMainThread(); 1157 PostSetNeedsCommitToMainThread();
1160 break; 1158 break;
1161 case END: 1159 case END:
1162 EXPECT_TRUE(root->LayerPropertyChanged()); 1160 EXPECT_TRUE(root->LayerPropertyChanged());
1163 EndTest(); 1161 EndTest();
1164 break; 1162 break;
1165 } 1163 }
1166 } 1164 }
1167 1165
1168 void AfterTest() override {} 1166 void AfterTest() override {}
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1222 break; 1220 break;
1223 } 1221 }
1224 } 1222 }
1225 1223
1226 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 1224 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
1227 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; 1225 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree;
1228 LayerImpl* root = impl->sync_tree()->root_layer_for_testing(); 1226 LayerImpl* root = impl->sync_tree()->root_layer_for_testing();
1229 EffectNode* node = effect_tree.Node(root->effect_tree_index()); 1227 EffectNode* node = effect_tree.Node(root->effect_tree_index());
1230 switch (impl->sync_tree()->source_frame_number()) { 1228 switch (impl->sync_tree()->source_frame_number()) {
1231 case 0: 1229 case 0:
1232 effect_tree.OnOpacityAnimated(0.75f, root->effect_tree_index(), 1230 impl->sync_tree()->SetTreeLayerOpacityMutated(root->element_id(),
1233 impl->sync_tree()); 1231 0.75f);
1234 PostSetNeedsCommitToMainThread(); 1232 PostSetNeedsCommitToMainThread();
1235 break; 1233 break;
1236 case 1: 1234 case 1:
1237 EXPECT_EQ(node->opacity, 0.75f); 1235 EXPECT_EQ(node->opacity, 0.75f);
1238 PostSetNeedsCommitToMainThread(); 1236 PostSetNeedsCommitToMainThread();
1239 break; 1237 break;
1240 case 2: 1238 case 2:
1241 EXPECT_EQ(node->opacity, 0.75f); 1239 EXPECT_EQ(node->opacity, 0.75f);
1242 effect_tree.OnOpacityAnimated(0.75f, root->effect_tree_index(), 1240 impl->sync_tree()->SetTreeLayerOpacityMutated(root->element_id(),
1243 impl->sync_tree()); 1241 0.75f);
1244 PostSetNeedsCommitToMainThread(); 1242 PostSetNeedsCommitToMainThread();
1245 break; 1243 break;
1246 case 3: 1244 case 3:
1247 EXPECT_EQ(node->opacity, 0.5f); 1245 EXPECT_EQ(node->opacity, 0.5f);
1248 PostSetNeedsCommitToMainThread(); 1246 PostSetNeedsCommitToMainThread();
1249 break; 1247 break;
1250 case 4: 1248 case 4:
1251 EXPECT_EQ(node->opacity, 0.25f); 1249 EXPECT_EQ(node->opacity, 0.25f);
1252 impl->sync_tree()->property_trees()->effect_tree.OnFilterAnimated( 1250 impl->sync_tree()->SetTreeLayerFilterMutated(root->element_id(),
1253 brightness_filter_, root->effect_tree_index(), impl->sync_tree()); 1251 brightness_filter_);
1254 PostSetNeedsCommitToMainThread(); 1252 PostSetNeedsCommitToMainThread();
1255 break; 1253 break;
1256 case 5: 1254 case 5:
1257 EXPECT_EQ(node->filters, brightness_filter_); 1255 EXPECT_EQ(node->filters, brightness_filter_);
1258 PostSetNeedsCommitToMainThread(); 1256 PostSetNeedsCommitToMainThread();
1259 break; 1257 break;
1260 case 6: 1258 case 6:
1261 EXPECT_EQ(node->filters, brightness_filter_); 1259 EXPECT_EQ(node->filters, brightness_filter_);
1262 impl->sync_tree()->property_trees()->effect_tree.OnFilterAnimated( 1260 impl->sync_tree()->SetTreeLayerFilterMutated(root->element_id(),
1263 brightness_filter_, root->effect_tree_index(), impl->sync_tree()); 1261 brightness_filter_);
1264 PostSetNeedsCommitToMainThread(); 1262 PostSetNeedsCommitToMainThread();
1265 break; 1263 break;
1266 case 7: 1264 case 7:
1267 EXPECT_EQ(node->filters, blur_filter_); 1265 EXPECT_EQ(node->filters, blur_filter_);
1268 PostSetNeedsCommitToMainThread(); 1266 PostSetNeedsCommitToMainThread();
1269 break; 1267 break;
1270 case 8: 1268 case 8:
1271 EXPECT_EQ(node->filters, sepia_filter_); 1269 EXPECT_EQ(node->filters, sepia_filter_);
1272 EndTest(); 1270 EndTest();
1273 break; 1271 break;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1315 case 4: 1313 case 4:
1316 node->local = gfx::Transform(); 1314 node->local = gfx::Transform();
1317 node->is_currently_animating = true; 1315 node->is_currently_animating = true;
1318 break; 1316 break;
1319 } 1317 }
1320 } 1318 }
1321 1319
1322 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { 1320 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override {
1323 TransformTree& transform_tree = 1321 TransformTree& transform_tree =
1324 impl->sync_tree()->property_trees()->transform_tree; 1322 impl->sync_tree()->property_trees()->transform_tree;
1325 TransformNode* node = transform_tree.Node( 1323 const LayerImpl* root_layer = impl->sync_tree()->root_layer_for_testing();
1326 impl->sync_tree()->root_layer_for_testing()->transform_tree_index()); 1324 const TransformNode* node =
1325 transform_tree.FindNodeFromOwningLayerId(root_layer->id());
1327 gfx::Transform rotate10; 1326 gfx::Transform rotate10;
1328 rotate10.Rotate(10.f); 1327 rotate10.Rotate(10.f);
1329 gfx::Transform rotate20; 1328 gfx::Transform rotate20;
1330 rotate20.Rotate(20.f); 1329 rotate20.Rotate(20.f);
1331 switch (impl->sync_tree()->source_frame_number()) { 1330 switch (impl->sync_tree()->source_frame_number()) {
1332 case 0: 1331 case 0:
1333 impl->sync_tree()->property_trees()->transform_tree.OnTransformAnimated( 1332 impl->sync_tree()->SetTreeLayerTransformMutated(
1334 rotate20, node->id, impl->sync_tree()); 1333 root_layer->element_id(), rotate20);
1335 PostSetNeedsCommitToMainThread(); 1334 PostSetNeedsCommitToMainThread();
1336 break; 1335 break;
1337 case 1: 1336 case 1:
1338 EXPECT_EQ(node->local, rotate20); 1337 EXPECT_EQ(node->local, rotate20);
1339 PostSetNeedsCommitToMainThread(); 1338 PostSetNeedsCommitToMainThread();
1340 break; 1339 break;
1341 case 2: 1340 case 2:
1342 EXPECT_EQ(node->local, rotate20); 1341 EXPECT_EQ(node->local, rotate20);
1343 impl->sync_tree()->property_trees()->transform_tree.OnTransformAnimated( 1342 impl->sync_tree()->SetTreeLayerTransformMutated(
1344 rotate20, node->id, impl->sync_tree()); 1343 root_layer->element_id(), rotate20);
1345 PostSetNeedsCommitToMainThread(); 1344 PostSetNeedsCommitToMainThread();
1346 break; 1345 break;
1347 case 3: 1346 case 3:
1348 EXPECT_EQ(node->local, rotate10); 1347 EXPECT_EQ(node->local, rotate10);
1349 PostSetNeedsCommitToMainThread(); 1348 PostSetNeedsCommitToMainThread();
1350 break; 1349 break;
1351 case 4: 1350 case 4:
1352 EXPECT_EQ(node->local, gfx::Transform()); 1351 EXPECT_EQ(node->local, gfx::Transform());
1353 EndTest(); 1352 EndTest();
1354 } 1353 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 EndTest(); 1417 EndTest();
1419 } 1418 }
1420 1419
1421 return draw_result; 1420 return draw_result;
1422 } 1421 }
1423 1422
1424 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 1423 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
1425 if (impl->active_tree()->source_frame_number() == 0) { 1424 if (impl->active_tree()->source_frame_number() == 0) {
1426 gfx::Transform scale; 1425 gfx::Transform scale;
1427 scale.Scale(2.0, 2.0); 1426 scale.Scale(2.0, 2.0);
1428 impl->active_tree()->property_trees()->transform_tree.OnTransformAnimated( 1427 impl->active_tree()->SetTreeLayerTransformMutated(child_->element_id(),
1429 scale, child_->transform_tree_index(), impl->active_tree()); 1428 scale);
1430 } 1429 }
1431 } 1430 }
1432 1431
1433 void AfterTest() override {} 1432 void AfterTest() override {}
1434 1433
1435 private: 1434 private:
1436 scoped_refptr<Layer> root_; 1435 scoped_refptr<Layer> root_;
1437 scoped_refptr<Layer> child_; 1436 scoped_refptr<Layer> child_;
1438 scoped_refptr<Layer> grand_child_; 1437 scoped_refptr<Layer> grand_child_;
1439 }; 1438 };
(...skipping 5744 matching lines...) Expand 10 before | Expand all | Expand 10 after
7184 7183
7185 private: 7184 private:
7186 bool first_ = true; 7185 bool first_ = true;
7187 SkBitmap bitmap_; 7186 SkBitmap bitmap_;
7188 }; 7187 };
7189 7188
7190 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestQueueImageDecodeNonLazy); 7189 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestQueueImageDecodeNonLazy);
7191 7190
7192 } // namespace 7191 } // namespace
7193 } // namespace cc 7192 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698