OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/property_tree.h" | 5 #include "cc/trees/property_tree.h" |
6 | 6 |
7 #include "cc/input/main_thread_scrolling_reason.h" | 7 #include "cc/input/main_thread_scrolling_reason.h" |
8 #include "cc/proto/property_tree.pb.h" | 8 #include "cc/proto/property_tree.pb.h" |
9 #include "cc/test/geometry_test_utils.h" | 9 #include "cc/test/geometry_test_utils.h" |
10 #include "cc/trees/draw_property_utils.h" | 10 #include "cc/trees/draw_property_utils.h" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 original.Insert(second, 0); | 93 original.Insert(second, 0); |
94 original.Insert(third, 1); | 94 original.Insert(third, 1); |
95 original.set_needs_update(true); | 95 original.set_needs_update(true); |
96 | 96 |
97 original.set_page_scale_factor(0.5f); | 97 original.set_page_scale_factor(0.5f); |
98 original.set_device_scale_factor(0.6f); | 98 original.set_device_scale_factor(0.6f); |
99 gfx::Transform transform = | 99 gfx::Transform transform = |
100 gfx::Transform(1.05f, 2.15f, 3.14f, 4.13f, 5.12f, 6.11f, 7.1f, 8.9f, 9.8f, | 100 gfx::Transform(1.05f, 2.15f, 3.14f, 4.13f, 5.12f, 6.11f, 7.1f, 8.9f, 9.8f, |
101 10.7f, 11.6f, 12.5f, 13.4f, 14.3f, 15.2f, 16.1f); | 101 10.7f, 11.6f, 12.5f, 13.4f, 14.3f, 15.2f, 16.1f); |
102 original.SetDeviceTransformScaleFactor(transform); | 102 original.SetDeviceTransformScaleFactor(transform); |
103 original.SetInnerViewportBoundsDelta(gfx::Vector2dF(0.4f, 0.6f)); | |
104 original.SetOuterViewportBoundsDelta(gfx::Vector2dF(0.5f, 0.7f)); | |
105 original.AddNodeAffectedByInnerViewportBoundsDelta(0); | 103 original.AddNodeAffectedByInnerViewportBoundsDelta(0); |
106 original.AddNodeAffectedByOuterViewportBoundsDelta(1); | 104 original.AddNodeAffectedByOuterViewportBoundsDelta(1); |
107 | 105 |
108 proto::PropertyTree proto; | 106 proto::PropertyTree proto; |
109 original.ToProtobuf(&proto); | 107 original.ToProtobuf(&proto); |
110 TransformTree result; | 108 TransformTree result; |
111 result.FromProtobuf(proto); | 109 result.FromProtobuf(proto); |
112 | 110 |
113 EXPECT_EQ(original, result); | 111 EXPECT_EQ(original, result); |
114 } | 112 } |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 | 224 |
227 EXPECT_EQ(original, result); | 225 EXPECT_EQ(original, result); |
228 } | 226 } |
229 | 227 |
230 TEST(PropertyTreeSerializationTest, ScrollNodeDataSerialization) { | 228 TEST(PropertyTreeSerializationTest, ScrollNodeDataSerialization) { |
231 ScrollNodeData original; | 229 ScrollNodeData original; |
232 original.scrollable = true; | 230 original.scrollable = true; |
233 original.main_thread_scrolling_reasons = | 231 original.main_thread_scrolling_reasons = |
234 MainThreadScrollingReason::kScrollbarScrolling; | 232 MainThreadScrollingReason::kScrollbarScrolling; |
235 original.contains_non_fast_scrollable_region = false; | 233 original.contains_non_fast_scrollable_region = false; |
236 original.transform_id = 2; | 234 original.scroll_clip_layer_bounds = gfx::Size(10, 10); |
| 235 original.bounds = gfx::Size(15, 15); |
| 236 original.envelope_page_scale_layer_with_clip_layer = true; |
| 237 original.is_inner_viewport_scroll_layer = true; |
| 238 original.is_outer_viewport_scroll_layer = false; |
| 239 original.is_inner_viewport_container_layer = false; |
| 240 original.is_outer_viewport_container_layer = false; |
237 | 241 |
238 proto::TreeNode proto; | 242 proto::TreeNode proto; |
239 original.ToProtobuf(&proto); | 243 original.ToProtobuf(&proto); |
240 ScrollNodeData result; | 244 ScrollNodeData result; |
241 result.FromProtobuf(proto); | 245 result.FromProtobuf(proto); |
242 | 246 |
243 EXPECT_EQ(original, result); | 247 EXPECT_EQ(original, result); |
244 } | 248 } |
245 | 249 |
246 TEST(PropertyTreeSerializationTest, ScrollNodeSerialization) { | 250 TEST(PropertyTreeSerializationTest, ScrollNodeSerialization) { |
247 ScrollNode original; | 251 ScrollNode original; |
248 original.id = 3; | 252 original.id = 3; |
249 original.parent_id = 2; | 253 original.parent_id = 2; |
250 original.owner_id = 4; | 254 original.owner_id = 4; |
251 | 255 |
252 proto::TreeNode proto; | 256 proto::TreeNode proto; |
253 original.ToProtobuf(&proto); | 257 original.ToProtobuf(&proto); |
254 ScrollNode result; | 258 ScrollNode result; |
255 result.FromProtobuf(proto); | 259 result.FromProtobuf(proto); |
256 | 260 |
257 EXPECT_EQ(original, result); | 261 EXPECT_EQ(original, result); |
258 } | 262 } |
259 | 263 |
260 TEST(PropertyTreeSerializationTest, ScrollTreeSerialization) { | 264 TEST(PropertyTreeSerializationTest, ScrollTreeSerialization) { |
261 ScrollTree original; | 265 ScrollTree original; |
262 ScrollNode& root = *original.Node(0); | |
263 root.data.transform_id = 2; | |
264 ScrollNode second; | 266 ScrollNode second; |
265 second.data.transform_id = 4; | |
266 second.data.scrollable = true; | 267 second.data.scrollable = true; |
| 268 second.data.bounds = gfx::Size(15, 15); |
267 ScrollNode third; | 269 ScrollNode third; |
268 third.data.transform_id = 5; | |
269 third.data.contains_non_fast_scrollable_region = true; | 270 third.data.contains_non_fast_scrollable_region = true; |
270 | 271 |
271 original.Insert(second, 0); | 272 original.Insert(second, 0); |
272 original.Insert(third, 1); | 273 original.Insert(third, 1); |
273 | 274 |
274 proto::PropertyTree proto; | 275 proto::PropertyTree proto; |
275 original.ToProtobuf(&proto); | 276 original.ToProtobuf(&proto); |
276 ScrollTree result; | 277 ScrollTree result; |
277 result.FromProtobuf(proto); | 278 result.FromProtobuf(proto); |
278 | 279 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 | 316 |
316 TransformTree TransformTreeForTest(const TransformTree& transform_tree) { | 317 TransformTree TransformTreeForTest(const TransformTree& transform_tree) { |
317 if (!test_serialization_) { | 318 if (!test_serialization_) { |
318 return transform_tree; | 319 return transform_tree; |
319 } | 320 } |
320 TransformTree new_tree; | 321 TransformTree new_tree; |
321 proto::PropertyTree proto; | 322 proto::PropertyTree proto; |
322 transform_tree.ToProtobuf(&proto); | 323 transform_tree.ToProtobuf(&proto); |
323 new_tree.FromProtobuf(proto); | 324 new_tree.FromProtobuf(proto); |
324 | 325 |
| 326 new_tree.SetPropertyTrees(transform_tree.property_trees()); |
| 327 |
325 EXPECT_EQ(transform_tree, new_tree); | 328 EXPECT_EQ(transform_tree, new_tree); |
326 return new_tree; | 329 return new_tree; |
327 } | 330 } |
328 | 331 |
329 EffectTree EffectTreeForTest(const EffectTree& effect_tree) { | 332 EffectTree EffectTreeForTest(const EffectTree& effect_tree) { |
330 if (!test_serialization_) { | 333 if (!test_serialization_) { |
331 return effect_tree; | 334 return effect_tree; |
332 } | 335 } |
333 EffectTree new_tree; | 336 EffectTree new_tree; |
334 proto::PropertyTree proto; | 337 proto::PropertyTree proto; |
(...skipping 14 matching lines...) Expand all Loading... |
349 #define SERIALIZED_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME) \ | 352 #define SERIALIZED_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME) \ |
350 TEST_F(TEST_FIXTURE_NAME, RunSerialized) { RunTest(true); } | 353 TEST_F(TEST_FIXTURE_NAME, RunSerialized) { RunTest(true); } |
351 | 354 |
352 #define DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME) \ | 355 #define DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME) \ |
353 DIRECT_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME); \ | 356 DIRECT_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME); \ |
354 SERIALIZED_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME) | 357 SERIALIZED_PROPERTY_TREE_TEST_F(TEST_FIXTURE_NAME) |
355 | 358 |
356 class PropertyTreeTestComputeTransformRoot : public PropertyTreeTest { | 359 class PropertyTreeTestComputeTransformRoot : public PropertyTreeTest { |
357 protected: | 360 protected: |
358 void StartTest() override { | 361 void StartTest() override { |
359 TransformTree tree; | 362 PropertyTrees property_trees; |
| 363 TransformTree tree = property_trees.transform_tree; |
360 TransformNode& root = *tree.Node(0); | 364 TransformNode& root = *tree.Node(0); |
361 root.data.local.Translate(2, 2); | 365 root.data.local.Translate(2, 2); |
362 root.data.target_id = 0; | 366 root.data.target_id = 0; |
363 tree = TransformTreeForTest(tree); | 367 tree = TransformTreeForTest(tree); |
364 tree.UpdateTransforms(0); | 368 tree.UpdateTransforms(0); |
365 | 369 |
366 gfx::Transform expected; | 370 gfx::Transform expected; |
367 gfx::Transform transform; | 371 gfx::Transform transform; |
368 bool success = tree.ComputeTransform(0, 0, &transform); | 372 bool success = tree.ComputeTransform(0, 0, &transform); |
369 EXPECT_TRUE(success); | 373 EXPECT_TRUE(success); |
(...skipping 13 matching lines...) Expand all Loading... |
383 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); | 387 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); |
384 } | 388 } |
385 }; | 389 }; |
386 | 390 |
387 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 391 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
388 PropertyTreeTestComputeTransformRoot); | 392 PropertyTreeTestComputeTransformRoot); |
389 | 393 |
390 class PropertyTreeTestComputeTransformChild : public PropertyTreeTest { | 394 class PropertyTreeTestComputeTransformChild : public PropertyTreeTest { |
391 protected: | 395 protected: |
392 void StartTest() override { | 396 void StartTest() override { |
393 TransformTree tree; | 397 PropertyTrees property_trees; |
| 398 TransformTree tree = property_trees.transform_tree; |
394 TransformNode& root = *tree.Node(0); | 399 TransformNode& root = *tree.Node(0); |
395 root.data.local.Translate(2, 2); | 400 root.data.local.Translate(2, 2); |
396 root.data.target_id = 0; | 401 root.data.target_id = 0; |
397 tree.UpdateTransforms(0); | 402 tree.UpdateTransforms(0); |
398 | 403 |
399 TransformNode child; | 404 TransformNode child; |
400 child.data.local.Translate(3, 3); | 405 child.data.local.Translate(3, 3); |
401 child.data.target_id = 0; | 406 child.data.target_id = 0; |
402 child.data.source_node_id = 0; | 407 child.data.source_node_id = 0; |
403 | 408 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); | 440 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); |
436 } | 441 } |
437 }; | 442 }; |
438 | 443 |
439 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 444 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
440 PropertyTreeTestComputeTransformChild); | 445 PropertyTreeTestComputeTransformChild); |
441 | 446 |
442 class PropertyTreeTestComputeTransformSibling : public PropertyTreeTest { | 447 class PropertyTreeTestComputeTransformSibling : public PropertyTreeTest { |
443 protected: | 448 protected: |
444 void StartTest() override { | 449 void StartTest() override { |
445 TransformTree tree; | 450 PropertyTrees property_trees; |
| 451 TransformTree tree = property_trees.transform_tree; |
446 TransformNode& root = *tree.Node(0); | 452 TransformNode& root = *tree.Node(0); |
447 root.data.local.Translate(2, 2); | 453 root.data.local.Translate(2, 2); |
448 root.data.target_id = 0; | 454 root.data.target_id = 0; |
449 tree.UpdateTransforms(0); | 455 tree.UpdateTransforms(0); |
450 | 456 |
451 TransformNode child; | 457 TransformNode child; |
452 child.data.local.Translate(3, 3); | 458 child.data.local.Translate(3, 3); |
453 child.data.source_node_id = 0; | 459 child.data.source_node_id = 0; |
454 child.data.target_id = 0; | 460 child.data.target_id = 0; |
455 | 461 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 void StartTest() override { | 498 void StartTest() override { |
493 // In this test, we have the following tree: | 499 // In this test, we have the following tree: |
494 // root | 500 // root |
495 // + singular | 501 // + singular |
496 // + child | 502 // + child |
497 // + sibling | 503 // + sibling |
498 // Since the lowest common ancestor of |child| and |sibling| has a singular | 504 // Since the lowest common ancestor of |child| and |sibling| has a singular |
499 // transform, we cannot use screen space transforms to compute change of | 505 // transform, we cannot use screen space transforms to compute change of |
500 // basis | 506 // basis |
501 // transforms between these nodes. | 507 // transforms between these nodes. |
502 TransformTree tree; | 508 PropertyTrees property_trees; |
| 509 TransformTree tree = property_trees.transform_tree; |
503 TransformNode& root = *tree.Node(0); | 510 TransformNode& root = *tree.Node(0); |
504 root.data.local.Translate(2, 2); | 511 root.data.local.Translate(2, 2); |
505 root.data.target_id = 0; | 512 root.data.target_id = 0; |
506 tree.UpdateTransforms(0); | 513 tree.UpdateTransforms(0); |
507 | 514 |
508 TransformNode singular; | 515 TransformNode singular; |
509 singular.data.local.matrix().set(2, 2, 0.0); | 516 singular.data.local.matrix().set(2, 2, 0.0); |
510 singular.data.source_node_id = 0; | 517 singular.data.source_node_id = 0; |
511 singular.data.target_id = 0; | 518 singular.data.target_id = 0; |
512 | 519 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); | 553 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); |
547 } | 554 } |
548 }; | 555 }; |
549 | 556 |
550 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 557 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
551 PropertyTreeTestComputeTransformSiblingSingularAncestor); | 558 PropertyTreeTestComputeTransformSiblingSingularAncestor); |
552 | 559 |
553 class PropertyTreeTestTransformsWithFlattening : public PropertyTreeTest { | 560 class PropertyTreeTestTransformsWithFlattening : public PropertyTreeTest { |
554 protected: | 561 protected: |
555 void StartTest() override { | 562 void StartTest() override { |
556 TransformTree tree; | 563 PropertyTrees property_trees; |
| 564 TransformTree tree = property_trees.transform_tree; |
557 | 565 |
558 int grand_parent = tree.Insert(TransformNode(), 0); | 566 int grand_parent = tree.Insert(TransformNode(), 0); |
559 tree.Node(grand_parent)->data.content_target_id = grand_parent; | 567 tree.Node(grand_parent)->data.content_target_id = grand_parent; |
560 tree.Node(grand_parent)->data.target_id = grand_parent; | 568 tree.Node(grand_parent)->data.target_id = grand_parent; |
561 tree.Node(grand_parent)->data.source_node_id = 0; | 569 tree.Node(grand_parent)->data.source_node_id = 0; |
562 | 570 |
563 gfx::Transform rotation_about_x; | 571 gfx::Transform rotation_about_x; |
564 rotation_about_x.RotateAboutXAxis(15); | 572 rotation_about_x.RotateAboutXAxis(15); |
565 | 573 |
566 int parent = tree.Insert(TransformNode(), grand_parent); | 574 int parent = tree.Insert(TransformNode(), grand_parent); |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 EXPECT_TRANSFORMATION_MATRIX_EQ(rotation_about_x, grand_child_to_child); | 639 EXPECT_TRANSFORMATION_MATRIX_EQ(rotation_about_x, grand_child_to_child); |
632 } | 640 } |
633 }; | 641 }; |
634 | 642 |
635 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 643 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
636 PropertyTreeTestTransformsWithFlattening); | 644 PropertyTreeTestTransformsWithFlattening); |
637 | 645 |
638 class PropertyTreeTestMultiplicationOrder : public PropertyTreeTest { | 646 class PropertyTreeTestMultiplicationOrder : public PropertyTreeTest { |
639 protected: | 647 protected: |
640 void StartTest() override { | 648 void StartTest() override { |
641 TransformTree tree; | 649 PropertyTrees property_trees; |
| 650 TransformTree tree = property_trees.transform_tree; |
642 TransformNode& root = *tree.Node(0); | 651 TransformNode& root = *tree.Node(0); |
643 root.data.local.Translate(2, 2); | 652 root.data.local.Translate(2, 2); |
644 root.data.target_id = 0; | 653 root.data.target_id = 0; |
645 tree.UpdateTransforms(0); | 654 tree.UpdateTransforms(0); |
646 | 655 |
647 TransformNode child; | 656 TransformNode child; |
648 child.data.local.Scale(2, 2); | 657 child.data.local.Scale(2, 2); |
649 child.data.target_id = 0; | 658 child.data.target_id = 0; |
650 child.data.source_node_id = 0; | 659 child.data.source_node_id = 0; |
651 | 660 |
(...skipping 20 matching lines...) Expand all Loading... |
672 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); | 681 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, transform); |
673 } | 682 } |
674 }; | 683 }; |
675 | 684 |
676 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F(PropertyTreeTestMultiplicationOrder); | 685 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F(PropertyTreeTestMultiplicationOrder); |
677 | 686 |
678 class PropertyTreeTestComputeTransformWithUninvertibleTransform | 687 class PropertyTreeTestComputeTransformWithUninvertibleTransform |
679 : public PropertyTreeTest { | 688 : public PropertyTreeTest { |
680 protected: | 689 protected: |
681 void StartTest() override { | 690 void StartTest() override { |
682 TransformTree tree; | 691 PropertyTrees property_trees; |
| 692 TransformTree tree = property_trees.transform_tree; |
683 TransformNode& root = *tree.Node(0); | 693 TransformNode& root = *tree.Node(0); |
684 root.data.target_id = 0; | 694 root.data.target_id = 0; |
685 tree.UpdateTransforms(0); | 695 tree.UpdateTransforms(0); |
686 | 696 |
687 TransformNode child; | 697 TransformNode child; |
688 child.data.local.Scale(0, 0); | 698 child.data.local.Scale(0, 0); |
689 child.data.target_id = 0; | 699 child.data.target_id = 0; |
690 child.data.source_node_id = 0; | 700 child.data.source_node_id = 0; |
691 | 701 |
692 tree.Insert(child, 0); | 702 tree.Insert(child, 0); |
(...skipping 17 matching lines...) Expand all Loading... |
710 } | 720 } |
711 }; | 721 }; |
712 | 722 |
713 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 723 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
714 PropertyTreeTestComputeTransformWithUninvertibleTransform); | 724 PropertyTreeTestComputeTransformWithUninvertibleTransform); |
715 | 725 |
716 class PropertyTreeTestComputeTransformWithSublayerScale | 726 class PropertyTreeTestComputeTransformWithSublayerScale |
717 : public PropertyTreeTest { | 727 : public PropertyTreeTest { |
718 protected: | 728 protected: |
719 void StartTest() override { | 729 void StartTest() override { |
720 TransformTree tree; | 730 PropertyTrees property_trees; |
| 731 TransformTree tree = property_trees.transform_tree; |
721 TransformNode& root = *tree.Node(0); | 732 TransformNode& root = *tree.Node(0); |
722 root.data.target_id = 0; | 733 root.data.target_id = 0; |
723 tree.UpdateTransforms(0); | 734 tree.UpdateTransforms(0); |
724 | 735 |
725 TransformNode grand_parent; | 736 TransformNode grand_parent; |
726 grand_parent.data.local.Scale(2.f, 2.f); | 737 grand_parent.data.local.Scale(2.f, 2.f); |
727 grand_parent.data.target_id = 0; | 738 grand_parent.data.target_id = 0; |
728 grand_parent.data.source_node_id = 0; | 739 grand_parent.data.source_node_id = 0; |
729 grand_parent.data.needs_sublayer_scale = true; | 740 grand_parent.data.needs_sublayer_scale = true; |
730 int grand_parent_id = tree.Insert(grand_parent, 0); | 741 int grand_parent_id = tree.Insert(grand_parent, 0); |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
827 } | 838 } |
828 }; | 839 }; |
829 | 840 |
830 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 841 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
831 PropertyTreeTestComputeTransformWithSublayerScale); | 842 PropertyTreeTestComputeTransformWithSublayerScale); |
832 | 843 |
833 class PropertyTreeTestComputeTransformToTargetWithZeroSublayerScale | 844 class PropertyTreeTestComputeTransformToTargetWithZeroSublayerScale |
834 : public PropertyTreeTest { | 845 : public PropertyTreeTest { |
835 protected: | 846 protected: |
836 void StartTest() override { | 847 void StartTest() override { |
837 TransformTree tree; | 848 PropertyTrees property_trees; |
| 849 TransformTree tree = property_trees.transform_tree; |
838 TransformNode& root = *tree.Node(0); | 850 TransformNode& root = *tree.Node(0); |
839 root.data.target_id = 0; | 851 root.data.target_id = 0; |
840 tree.UpdateTransforms(0); | 852 tree.UpdateTransforms(0); |
841 | 853 |
842 TransformNode grand_parent; | 854 TransformNode grand_parent; |
843 grand_parent.data.local.Scale(2.f, 0.f); | 855 grand_parent.data.local.Scale(2.f, 0.f); |
844 grand_parent.data.target_id = 0; | 856 grand_parent.data.target_id = 0; |
845 grand_parent.data.source_node_id = 0; | 857 grand_parent.data.source_node_id = 0; |
846 grand_parent.data.needs_sublayer_scale = true; | 858 grand_parent.data.needs_sublayer_scale = true; |
847 int grand_parent_id = tree.Insert(grand_parent, 0); | 859 int grand_parent_id = tree.Insert(grand_parent, 0); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 914 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
903 PropertyTreeTestComputeTransformToTargetWithZeroSublayerScale); | 915 PropertyTreeTestComputeTransformToTargetWithZeroSublayerScale); |
904 | 916 |
905 class PropertyTreeTestFlatteningWhenDestinationHasOnlyFlatAncestors | 917 class PropertyTreeTestFlatteningWhenDestinationHasOnlyFlatAncestors |
906 : public PropertyTreeTest { | 918 : public PropertyTreeTest { |
907 protected: | 919 protected: |
908 void StartTest() override { | 920 void StartTest() override { |
909 // This tests that flattening is performed correctly when | 921 // This tests that flattening is performed correctly when |
910 // destination and its ancestors are flat, but there are 3d transforms | 922 // destination and its ancestors are flat, but there are 3d transforms |
911 // and flattening between the source and destination. | 923 // and flattening between the source and destination. |
912 TransformTree tree; | 924 PropertyTrees property_trees; |
| 925 TransformTree tree = property_trees.transform_tree; |
913 | 926 |
914 int parent = tree.Insert(TransformNode(), 0); | 927 int parent = tree.Insert(TransformNode(), 0); |
915 tree.Node(parent)->data.content_target_id = parent; | 928 tree.Node(parent)->data.content_target_id = parent; |
916 tree.Node(parent)->data.target_id = parent; | 929 tree.Node(parent)->data.target_id = parent; |
917 tree.Node(parent)->data.source_node_id = 0; | 930 tree.Node(parent)->data.source_node_id = 0; |
918 tree.Node(parent)->data.local.Translate(2, 2); | 931 tree.Node(parent)->data.local.Translate(2, 2); |
919 | 932 |
920 gfx::Transform rotation_about_x; | 933 gfx::Transform rotation_about_x; |
921 rotation_about_x.RotateAboutXAxis(15); | 934 rotation_about_x.RotateAboutXAxis(15); |
922 | 935 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
978 }; | 991 }; |
979 | 992 |
980 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 993 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
981 PropertyTreeTestScreenSpaceOpacityUpdateTest); | 994 PropertyTreeTestScreenSpaceOpacityUpdateTest); |
982 | 995 |
983 class PropertyTreeTestNonIntegerTranslationTest : public PropertyTreeTest { | 996 class PropertyTreeTestNonIntegerTranslationTest : public PropertyTreeTest { |
984 protected: | 997 protected: |
985 void StartTest() override { | 998 void StartTest() override { |
986 // This tests that when a node has non-integer translation, the information | 999 // This tests that when a node has non-integer translation, the information |
987 // is propagated to the subtree. | 1000 // is propagated to the subtree. |
988 TransformTree tree; | 1001 PropertyTrees property_trees; |
| 1002 TransformTree tree = property_trees.transform_tree; |
989 | 1003 |
990 int parent = tree.Insert(TransformNode(), 0); | 1004 int parent = tree.Insert(TransformNode(), 0); |
991 tree.Node(parent)->data.target_id = parent; | 1005 tree.Node(parent)->data.target_id = parent; |
992 tree.Node(parent)->data.local.Translate(1.5f, 1.5f); | 1006 tree.Node(parent)->data.local.Translate(1.5f, 1.5f); |
993 | 1007 |
994 int child = tree.Insert(TransformNode(), parent); | 1008 int child = tree.Insert(TransformNode(), parent); |
995 tree.Node(child)->data.target_id = parent; | 1009 tree.Node(child)->data.target_id = parent; |
996 tree.Node(child)->data.local.Translate(1, 1); | 1010 tree.Node(child)->data.local.Translate(1, 1); |
997 tree.set_needs_update(true); | 1011 tree.set_needs_update(true); |
998 tree = TransformTreeForTest(tree); | 1012 tree = TransformTreeForTest(tree); |
(...skipping 26 matching lines...) Expand all Loading... |
1025 }; | 1039 }; |
1026 | 1040 |
1027 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 1041 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
1028 PropertyTreeTestNonIntegerTranslationTest); | 1042 PropertyTreeTestNonIntegerTranslationTest); |
1029 | 1043 |
1030 class PropertyTreeTestSingularTransformSnapTest : public PropertyTreeTest { | 1044 class PropertyTreeTestSingularTransformSnapTest : public PropertyTreeTest { |
1031 protected: | 1045 protected: |
1032 void StartTest() override { | 1046 void StartTest() override { |
1033 // This tests that to_target transform is not snapped when it has a singular | 1047 // This tests that to_target transform is not snapped when it has a singular |
1034 // transform. | 1048 // transform. |
1035 TransformTree tree; | 1049 PropertyTrees property_trees; |
| 1050 TransformTree tree = property_trees.transform_tree; |
1036 | 1051 |
1037 int parent = tree.Insert(TransformNode(), 0); | 1052 int parent = tree.Insert(TransformNode(), 0); |
1038 tree.Node(parent)->data.target_id = parent; | 1053 tree.Node(parent)->data.target_id = parent; |
1039 tree.Node(parent)->data.scrolls = true; | 1054 tree.Node(parent)->data.scrolls = true; |
1040 | 1055 |
1041 int child = tree.Insert(TransformNode(), parent); | 1056 int child = tree.Insert(TransformNode(), parent); |
1042 TransformNode* child_node = tree.Node(child); | 1057 TransformNode* child_node = tree.Node(child); |
1043 child_node->data.target_id = parent; | 1058 child_node->data.target_id = parent; |
1044 child_node->data.scrolls = true; | 1059 child_node->data.scrolls = true; |
1045 child_node->data.local.Scale3d(6.0f, 6.0f, 0.0f); | 1060 child_node->data.local.Scale3d(6.0f, 6.0f, 0.0f); |
(...skipping 21 matching lines...) Expand all Loading... |
1067 | 1082 |
1068 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 1083 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
1069 PropertyTreeTestSingularTransformSnapTest); | 1084 PropertyTreeTestSingularTransformSnapTest); |
1070 | 1085 |
1071 #undef DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F | 1086 #undef DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F |
1072 #undef SERIALIZED_PROPERTY_TREE_TEST_F | 1087 #undef SERIALIZED_PROPERTY_TREE_TEST_F |
1073 #undef DIRECT_PROPERTY_TREE_TEST_F | 1088 #undef DIRECT_PROPERTY_TREE_TEST_F |
1074 | 1089 |
1075 } // namespace | 1090 } // namespace |
1076 } // namespace cc | 1091 } // namespace cc |
OLD | NEW |