OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/layers/layer_position_constraint.h" | 5 #include "cc/layers/layer_position_constraint.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "cc/animation/animation_host.h" | 9 #include "cc/animation/animation_host.h" |
10 #include "cc/layers/layer.h" | 10 #include "cc/layers/layer.h" |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 // Case 1: scroll delta of 0, 0 | 452 // Case 1: scroll delta of 0, 0 |
453 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0)); | 453 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0)); |
454 ExecuteCalculateDrawProperties(root_impl_); | 454 ExecuteCalculateDrawProperties(root_impl_); |
455 | 455 |
456 gfx::Transform expected_child_transform; | 456 gfx::Transform expected_child_transform; |
457 gfx::Transform expected_surface_draw_transform; | 457 gfx::Transform expected_surface_draw_transform; |
458 expected_surface_draw_transform.Translate(8.0, 6.0); | 458 expected_surface_draw_transform.Translate(8.0, 6.0); |
459 gfx::Transform expected_grand_child_transform; | 459 gfx::Transform expected_grand_child_transform; |
460 gfx::Transform expected_great_grand_child_transform; | 460 gfx::Transform expected_great_grand_child_transform; |
461 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z); | 461 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z); |
462 EXPECT_TRUE(grand_child_impl_->render_surface()); | 462 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); |
463 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 463 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
464 child_impl_->DrawTransform()); | 464 child_impl_->DrawTransform()); |
465 EXPECT_TRANSFORMATION_MATRIX_EQ( | 465 EXPECT_TRANSFORMATION_MATRIX_EQ( |
466 expected_surface_draw_transform, | 466 expected_surface_draw_transform, |
467 grand_child_impl_->render_surface()->draw_transform()); | 467 grand_child_impl_->GetRenderSurface()->draw_transform()); |
468 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 468 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
469 grand_child_impl_->DrawTransform()); | 469 grand_child_impl_->DrawTransform()); |
470 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, | 470 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, |
471 great_grand_child_impl_->DrawTransform()); | 471 great_grand_child_impl_->DrawTransform()); |
472 | 472 |
473 // Case 2: scroll delta of 10, 30 | 473 // Case 2: scroll delta of 10, 30 |
474 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); | 474 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); |
475 child_impl_->SetDrawsContent(true); | 475 child_impl_->SetDrawsContent(true); |
476 ExecuteCalculateDrawProperties(root_impl_); | 476 ExecuteCalculateDrawProperties(root_impl_); |
477 | 477 |
(...skipping 11 matching lines...) Expand all Loading... |
489 expected_surface_draw_transform.MakeIdentity(); | 489 expected_surface_draw_transform.MakeIdentity(); |
490 expected_surface_draw_transform.Translate(-10.0, -30.0); // scroll delta | 490 expected_surface_draw_transform.Translate(-10.0, -30.0); // scroll delta |
491 expected_surface_draw_transform.Translate(8.0, 6.0); | 491 expected_surface_draw_transform.Translate(8.0, 6.0); |
492 | 492 |
493 expected_great_grand_child_transform.MakeIdentity(); | 493 expected_great_grand_child_transform.MakeIdentity(); |
494 // explicit canceling out the scroll delta that gets embedded in the fixed | 494 // explicit canceling out the scroll delta that gets embedded in the fixed |
495 // position layer's surface. | 495 // position layer's surface. |
496 expected_great_grand_child_transform.Translate(10.0, 30.0); | 496 expected_great_grand_child_transform.Translate(10.0, 30.0); |
497 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z); | 497 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z); |
498 | 498 |
499 EXPECT_TRUE(grand_child_impl_->render_surface()); | 499 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); |
500 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 500 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
501 child_impl_->DrawTransform()); | 501 child_impl_->DrawTransform()); |
502 EXPECT_TRANSFORMATION_MATRIX_EQ( | 502 EXPECT_TRANSFORMATION_MATRIX_EQ( |
503 expected_surface_draw_transform, | 503 expected_surface_draw_transform, |
504 grand_child_impl_->render_surface()->draw_transform()); | 504 grand_child_impl_->GetRenderSurface()->draw_transform()); |
505 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 505 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
506 grand_child_impl_->DrawTransform()); | 506 grand_child_impl_->DrawTransform()); |
507 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, | 507 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, |
508 great_grand_child_impl_->DrawTransform()); | 508 great_grand_child_impl_->DrawTransform()); |
509 | 509 |
510 // Case 3: fixed-container size delta of 20, 20 | 510 // Case 3: fixed-container size delta of 20, 20 |
511 SetFixedContainerSizeDelta(child_impl_, gfx::Vector2d(20, 20)); | 511 SetFixedContainerSizeDelta(child_impl_, gfx::Vector2d(20, 20)); |
512 ExecuteCalculateDrawProperties(root_impl_); | 512 ExecuteCalculateDrawProperties(root_impl_); |
513 | 513 |
514 // Top-left fixed-position layer should not be affected by container size. | 514 // Top-left fixed-position layer should not be affected by container size. |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 gfx::Transform expected_grand_child_transform; | 596 gfx::Transform expected_grand_child_transform; |
597 | 597 |
598 gfx::Transform expected_great_grand_child_surface_draw_transform; | 598 gfx::Transform expected_great_grand_child_surface_draw_transform; |
599 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0); | 599 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0); |
600 | 600 |
601 gfx::Transform expected_great_grand_child_transform; | 601 gfx::Transform expected_great_grand_child_transform; |
602 | 602 |
603 gfx::Transform expected_fixed_position_child_transform; | 603 gfx::Transform expected_fixed_position_child_transform; |
604 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); | 604 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); |
605 | 605 |
606 EXPECT_TRUE(grand_child_impl_->render_surface()); | 606 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); |
607 EXPECT_TRUE(great_grand_child_impl_->render_surface()); | 607 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); |
608 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 608 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
609 child_impl_->DrawTransform()); | 609 child_impl_->DrawTransform()); |
610 EXPECT_TRANSFORMATION_MATRIX_EQ( | 610 EXPECT_TRANSFORMATION_MATRIX_EQ( |
611 expected_grand_child_surface_draw_transform, | 611 expected_grand_child_surface_draw_transform, |
612 grand_child_impl_->render_surface()->draw_transform()); | 612 grand_child_impl_->GetRenderSurface()->draw_transform()); |
613 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 613 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
614 grand_child_impl_->DrawTransform()); | 614 grand_child_impl_->DrawTransform()); |
615 EXPECT_TRANSFORMATION_MATRIX_EQ( | 615 EXPECT_TRANSFORMATION_MATRIX_EQ( |
616 expected_great_grand_child_surface_draw_transform, | 616 expected_great_grand_child_surface_draw_transform, |
617 great_grand_child_impl_->render_surface()->draw_transform()); | 617 great_grand_child_impl_->GetRenderSurface()->draw_transform()); |
618 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, | 618 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, |
619 great_grand_child_impl_->DrawTransform()); | 619 great_grand_child_impl_->DrawTransform()); |
620 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, | 620 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, |
621 fixed_position_child_impl->DrawTransform()); | 621 fixed_position_child_impl->DrawTransform()); |
622 | 622 |
623 // Case 2: scroll delta of 10, 30 | 623 // Case 2: scroll delta of 10, 30 |
624 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); | 624 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); |
625 ExecuteCalculateDrawProperties(root_impl_); | 625 ExecuteCalculateDrawProperties(root_impl_); |
626 | 626 |
627 expected_child_transform.MakeIdentity(); | 627 expected_child_transform.MakeIdentity(); |
628 expected_child_transform.Translate(-10.0, -30.0); // scroll delta | 628 expected_child_transform.Translate(-10.0, -30.0); // scroll delta |
629 | 629 |
630 expected_grand_child_surface_draw_transform.MakeIdentity(); | 630 expected_grand_child_surface_draw_transform.MakeIdentity(); |
631 expected_grand_child_surface_draw_transform.Translate(-10.0, | 631 expected_grand_child_surface_draw_transform.Translate(-10.0, |
632 -30.0); // scroll delta | 632 -30.0); // scroll delta |
633 expected_grand_child_surface_draw_transform.Translate(8.0, 6.0); | 633 expected_grand_child_surface_draw_transform.Translate(8.0, 6.0); |
634 | 634 |
635 // grand_child, great_grand_child, and great_grand_child's surface are not | 635 // grand_child, great_grand_child, and great_grand_child's surface are not |
636 // expected to change, since they are all not fixed, and they are all drawn | 636 // expected to change, since they are all not fixed, and they are all drawn |
637 // with respect to grand_child's surface that already has the scroll delta | 637 // with respect to grand_child's surface that already has the scroll delta |
638 // accounted for. | 638 // accounted for. |
639 | 639 |
640 // But the great-great grandchild, "fixed_position_child", should have a | 640 // But the great-great grandchild, "fixed_position_child", should have a |
641 // transform that explicitly cancels out the scroll delta. | 641 // transform that explicitly cancels out the scroll delta. |
642 expected_fixed_position_child_transform.MakeIdentity(); | 642 expected_fixed_position_child_transform.MakeIdentity(); |
643 expected_fixed_position_child_transform.Translate(10.0, 30.0); | 643 expected_fixed_position_child_transform.Translate(10.0, 30.0); |
644 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); | 644 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); |
645 | 645 |
646 EXPECT_TRUE(grand_child_impl_->render_surface()); | 646 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); |
647 EXPECT_TRUE(great_grand_child_impl_->render_surface()); | 647 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); |
648 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 648 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
649 child_impl_->DrawTransform()); | 649 child_impl_->DrawTransform()); |
650 EXPECT_TRANSFORMATION_MATRIX_EQ( | 650 EXPECT_TRANSFORMATION_MATRIX_EQ( |
651 expected_grand_child_surface_draw_transform, | 651 expected_grand_child_surface_draw_transform, |
652 grand_child_impl_->render_surface()->draw_transform()); | 652 grand_child_impl_->GetRenderSurface()->draw_transform()); |
653 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 653 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
654 grand_child_impl_->DrawTransform()); | 654 grand_child_impl_->DrawTransform()); |
655 EXPECT_TRANSFORMATION_MATRIX_EQ( | 655 EXPECT_TRANSFORMATION_MATRIX_EQ( |
656 expected_great_grand_child_surface_draw_transform, | 656 expected_great_grand_child_surface_draw_transform, |
657 great_grand_child_impl_->render_surface()->draw_transform()); | 657 great_grand_child_impl_->GetRenderSurface()->draw_transform()); |
658 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, | 658 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, |
659 great_grand_child_impl_->DrawTransform()); | 659 great_grand_child_impl_->DrawTransform()); |
660 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, | 660 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, |
661 fixed_position_child_impl->DrawTransform()); | 661 fixed_position_child_impl->DrawTransform()); |
662 | 662 |
663 // Case 3: fixed-container size delta of 20, 20 | 663 // Case 3: fixed-container size delta of 20, 20 |
664 SetFixedContainerSizeDelta(child_impl_, gfx::Vector2d(20, 20)); | 664 SetFixedContainerSizeDelta(child_impl_, gfx::Vector2d(20, 20)); |
665 ExecuteCalculateDrawProperties(root_impl_); | 665 ExecuteCalculateDrawProperties(root_impl_); |
666 | 666 |
667 // Top-left fixed-position layer should not be affected by container size. | 667 // Top-left fixed-position layer should not be affected by container size. |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 gfx::Transform expected_grand_child_transform; | 758 gfx::Transform expected_grand_child_transform; |
759 | 759 |
760 gfx::Transform expected_great_grand_child_surface_draw_transform; | 760 gfx::Transform expected_great_grand_child_surface_draw_transform; |
761 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0); | 761 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0); |
762 | 762 |
763 gfx::Transform expected_great_grand_child_transform; | 763 gfx::Transform expected_great_grand_child_transform; |
764 | 764 |
765 gfx::Transform expected_fixed_position_child_transform; | 765 gfx::Transform expected_fixed_position_child_transform; |
766 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); | 766 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); |
767 | 767 |
768 EXPECT_TRUE(grand_child_impl_->render_surface()); | 768 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); |
769 EXPECT_TRUE(great_grand_child_impl_->render_surface()); | 769 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); |
770 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 770 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
771 child_impl_->DrawTransform()); | 771 child_impl_->DrawTransform()); |
772 EXPECT_TRANSFORMATION_MATRIX_EQ( | 772 EXPECT_TRANSFORMATION_MATRIX_EQ( |
773 expected_grand_child_surface_draw_transform, | 773 expected_grand_child_surface_draw_transform, |
774 grand_child_impl_->render_surface()->draw_transform()); | 774 grand_child_impl_->GetRenderSurface()->draw_transform()); |
775 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 775 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
776 grand_child_impl_->DrawTransform()); | 776 grand_child_impl_->DrawTransform()); |
777 EXPECT_TRANSFORMATION_MATRIX_EQ( | 777 EXPECT_TRANSFORMATION_MATRIX_EQ( |
778 expected_great_grand_child_surface_draw_transform, | 778 expected_great_grand_child_surface_draw_transform, |
779 great_grand_child_impl_->render_surface()->draw_transform()); | 779 great_grand_child_impl_->GetRenderSurface()->draw_transform()); |
780 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, | 780 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, |
781 great_grand_child_impl_->DrawTransform()); | 781 great_grand_child_impl_->DrawTransform()); |
782 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, | 782 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, |
783 fixed_position_child_impl->DrawTransform()); | 783 fixed_position_child_impl->DrawTransform()); |
784 | 784 |
785 // Case 2: scroll delta of 10, 30 | 785 // Case 2: scroll delta of 10, 30 |
786 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); | 786 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); |
787 ExecuteCalculateDrawProperties(root_impl_); | 787 ExecuteCalculateDrawProperties(root_impl_); |
788 | 788 |
789 expected_child_transform.MakeIdentity(); | 789 expected_child_transform.MakeIdentity(); |
(...skipping 13 matching lines...) Expand all Loading... |
803 // accounted for. | 803 // accounted for. |
804 | 804 |
805 // But the great-great grandchild, "fixed_position_child", should have a | 805 // But the great-great grandchild, "fixed_position_child", should have a |
806 // transform that explicitly cancels out the scroll delta. | 806 // transform that explicitly cancels out the scroll delta. |
807 expected_fixed_position_child_transform.MakeIdentity(); | 807 expected_fixed_position_child_transform.MakeIdentity(); |
808 // explicit canceling out the scroll delta that gets embedded in the fixed | 808 // explicit canceling out the scroll delta that gets embedded in the fixed |
809 // position layer's surface. | 809 // position layer's surface. |
810 expected_fixed_position_child_transform.Translate(10.0, 30.0); | 810 expected_fixed_position_child_transform.Translate(10.0, 30.0); |
811 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); | 811 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); |
812 | 812 |
813 EXPECT_TRUE(grand_child_impl_->render_surface()); | 813 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); |
814 EXPECT_TRUE(great_grand_child_impl_->render_surface()); | 814 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); |
815 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 815 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
816 child_impl_->DrawTransform()); | 816 child_impl_->DrawTransform()); |
817 EXPECT_TRANSFORMATION_MATRIX_EQ( | 817 EXPECT_TRANSFORMATION_MATRIX_EQ( |
818 expected_grand_child_surface_draw_transform, | 818 expected_grand_child_surface_draw_transform, |
819 grand_child_impl_->render_surface()->draw_transform()); | 819 grand_child_impl_->GetRenderSurface()->draw_transform()); |
820 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 820 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
821 grand_child_impl_->DrawTransform()); | 821 grand_child_impl_->DrawTransform()); |
822 EXPECT_TRANSFORMATION_MATRIX_EQ( | 822 EXPECT_TRANSFORMATION_MATRIX_EQ( |
823 expected_great_grand_child_surface_draw_transform, | 823 expected_great_grand_child_surface_draw_transform, |
824 great_grand_child_impl_->render_surface()->draw_transform()); | 824 great_grand_child_impl_->GetRenderSurface()->draw_transform()); |
825 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, | 825 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, |
826 great_grand_child_impl_->DrawTransform()); | 826 great_grand_child_impl_->DrawTransform()); |
827 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, | 827 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, |
828 fixed_position_child_impl->DrawTransform()); | 828 fixed_position_child_impl->DrawTransform()); |
829 } | 829 } |
830 | 830 |
831 TEST_F(LayerPositionConstraintTest, | 831 TEST_F(LayerPositionConstraintTest, |
832 ScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface) { | 832 ScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface) { |
833 // This test checks for correct scroll compensation when the fixed-position | 833 // This test checks for correct scroll compensation when the fixed-position |
834 // container itself has a render surface. In this case, the container layer | 834 // container itself has a render surface. In this case, the container layer |
835 // should be treated like a layer that contributes to a render target, and | 835 // should be treated like a layer that contributes to a render target, and |
836 // that render target is completely irrelevant; it should not affect the | 836 // that render target is completely irrelevant; it should not affect the |
837 // scroll compensation. | 837 // scroll compensation. |
838 child_->SetIsContainerForFixedPositionLayers(true); | 838 child_->SetIsContainerForFixedPositionLayers(true); |
839 child_->SetForceRenderSurfaceForTesting(true); | 839 child_->SetForceRenderSurfaceForTesting(true); |
840 grand_child_->SetPositionConstraint(fixed_to_top_left_); | 840 grand_child_->SetPositionConstraint(fixed_to_top_left_); |
841 | 841 |
842 CommitAndUpdateImplPointers(); | 842 CommitAndUpdateImplPointers(); |
843 | 843 |
844 // Case 1: scroll delta of 0, 0 | 844 // Case 1: scroll delta of 0, 0 |
845 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0)); | 845 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0)); |
846 ExecuteCalculateDrawProperties(root_impl_); | 846 ExecuteCalculateDrawProperties(root_impl_); |
847 | 847 |
848 gfx::Transform expected_surface_draw_transform; | 848 gfx::Transform expected_surface_draw_transform; |
849 gfx::Transform expected_child_transform; | 849 gfx::Transform expected_child_transform; |
850 gfx::Transform expected_grand_child_transform; | 850 gfx::Transform expected_grand_child_transform; |
851 EXPECT_TRUE(child_impl_->render_surface()); | 851 EXPECT_TRUE(child_impl_->GetRenderSurface()); |
852 EXPECT_TRANSFORMATION_MATRIX_EQ( | 852 EXPECT_TRANSFORMATION_MATRIX_EQ( |
853 expected_surface_draw_transform, | 853 expected_surface_draw_transform, |
854 child_impl_->render_surface()->draw_transform()); | 854 child_impl_->GetRenderSurface()->draw_transform()); |
855 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 855 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
856 child_impl_->DrawTransform()); | 856 child_impl_->DrawTransform()); |
857 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 857 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
858 grand_child_impl_->DrawTransform()); | 858 grand_child_impl_->DrawTransform()); |
859 | 859 |
860 // Case 2: scroll delta of 10, 10 | 860 // Case 2: scroll delta of 10, 10 |
861 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 10)); | 861 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 10)); |
862 ExecuteCalculateDrawProperties(root_impl_); | 862 ExecuteCalculateDrawProperties(root_impl_); |
863 | 863 |
864 // The surface is translated by scroll delta, the child transform doesn't | 864 // The surface is translated by scroll delta, the child transform doesn't |
865 // change because it scrolls along with the surface, but the fixed position | 865 // change because it scrolls along with the surface, but the fixed position |
866 // grand_child needs to compensate for the scroll translation. | 866 // grand_child needs to compensate for the scroll translation. |
867 expected_surface_draw_transform.MakeIdentity(); | 867 expected_surface_draw_transform.MakeIdentity(); |
868 expected_surface_draw_transform.Translate(-10.0, -10.0); | 868 expected_surface_draw_transform.Translate(-10.0, -10.0); |
869 expected_grand_child_transform.MakeIdentity(); | 869 expected_grand_child_transform.MakeIdentity(); |
870 expected_grand_child_transform.Translate(10.0, 10.0); | 870 expected_grand_child_transform.Translate(10.0, 10.0); |
871 | 871 |
872 EXPECT_TRUE(child_impl_->render_surface()); | 872 EXPECT_TRUE(child_impl_->GetRenderSurface()); |
873 EXPECT_TRANSFORMATION_MATRIX_EQ( | 873 EXPECT_TRANSFORMATION_MATRIX_EQ( |
874 expected_surface_draw_transform, | 874 expected_surface_draw_transform, |
875 child_impl_->render_surface()->draw_transform()); | 875 child_impl_->GetRenderSurface()->draw_transform()); |
876 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, | 876 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, |
877 child_impl_->DrawTransform()); | 877 child_impl_->DrawTransform()); |
878 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, | 878 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, |
879 grand_child_impl_->DrawTransform()); | 879 grand_child_impl_->DrawTransform()); |
880 | 880 |
881 // Case 3: fixed-container size delta of 20, 20 | 881 // Case 3: fixed-container size delta of 20, 20 |
882 SetFixedContainerSizeDelta(child_impl_, gfx::Vector2d(20, 20)); | 882 SetFixedContainerSizeDelta(child_impl_, gfx::Vector2d(20, 20)); |
883 ExecuteCalculateDrawProperties(root_impl_); | 883 ExecuteCalculateDrawProperties(root_impl_); |
884 | 884 |
885 // Top-left fixed-position layer should not be affected by container size. | 885 // Top-left fixed-position layer should not be affected by container size. |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1141 expected_fixed_child_transform.Translate(20.0, 20.0); | 1141 expected_fixed_child_transform.Translate(20.0, 20.0); |
1142 | 1142 |
1143 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_scroll_layer_transform, | 1143 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_scroll_layer_transform, |
1144 scroll_layer_impl_->DrawTransform()); | 1144 scroll_layer_impl_->DrawTransform()); |
1145 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_child_transform, | 1145 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_child_transform, |
1146 fixed_child_impl->DrawTransform()); | 1146 fixed_child_impl->DrawTransform()); |
1147 } | 1147 } |
1148 | 1148 |
1149 } // namespace | 1149 } // namespace |
1150 } // namespace cc | 1150 } // namespace cc |
OLD | NEW |