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

Side by Side Diff: cc/layers/layer_position_constraint_unittest.cc

Issue 2857343002: Delete LayerImpl::GetRenderSurface. (Closed)
Patch Set: none Created 3 years, 7 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/layers/render_surface_impl_unittest.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 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"
11 #include "cc/layers/layer_impl.h" 11 #include "cc/layers/layer_impl.h"
12 #include "cc/test/fake_layer_tree_host.h" 12 #include "cc/test/fake_layer_tree_host.h"
13 #include "cc/test/fake_proxy.h" 13 #include "cc/test/fake_proxy.h"
14 #include "cc/test/geometry_test_utils.h" 14 #include "cc/test/geometry_test_utils.h"
15 #include "cc/test/layer_test_common.h"
15 #include "cc/test/test_task_graph_runner.h" 16 #include "cc/test/test_task_graph_runner.h"
16 #include "cc/trees/layer_tree_host_common.h" 17 #include "cc/trees/layer_tree_host_common.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 namespace cc { 20 namespace cc {
20 namespace { 21 namespace {
21 22
22 class LayerWithForcedDrawsContent : public Layer { 23 class LayerWithForcedDrawsContent : public Layer {
23 public: 24 public:
24 LayerWithForcedDrawsContent() {} 25 LayerWithForcedDrawsContent() {}
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 // Case 1: scroll delta of 0, 0 445 // Case 1: scroll delta of 0, 0
445 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0)); 446 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0));
446 ExecuteCalculateDrawProperties(root_impl_); 447 ExecuteCalculateDrawProperties(root_impl_);
447 448
448 gfx::Transform expected_child_transform; 449 gfx::Transform expected_child_transform;
449 gfx::Transform expected_surface_draw_transform; 450 gfx::Transform expected_surface_draw_transform;
450 expected_surface_draw_transform.Translate(8.0, 6.0); 451 expected_surface_draw_transform.Translate(8.0, 6.0);
451 gfx::Transform expected_grand_child_transform; 452 gfx::Transform expected_grand_child_transform;
452 gfx::Transform expected_great_grand_child_transform; 453 gfx::Transform expected_great_grand_child_transform;
453 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z); 454 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z);
454 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); 455 EXPECT_TRUE(GetRenderSurface(grand_child_impl_));
455 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 456 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
456 child_impl_->DrawTransform()); 457 child_impl_->DrawTransform());
457 EXPECT_TRANSFORMATION_MATRIX_EQ( 458 EXPECT_TRANSFORMATION_MATRIX_EQ(
458 expected_surface_draw_transform, 459 expected_surface_draw_transform,
459 grand_child_impl_->GetRenderSurface()->draw_transform()); 460 GetRenderSurface(grand_child_impl_)->draw_transform());
460 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 461 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
461 grand_child_impl_->DrawTransform()); 462 grand_child_impl_->DrawTransform());
462 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, 463 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform,
463 great_grand_child_impl_->DrawTransform()); 464 great_grand_child_impl_->DrawTransform());
464 465
465 // Case 2: scroll delta of 10, 30 466 // Case 2: scroll delta of 10, 30
466 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); 467 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30));
467 child_impl_->SetDrawsContent(true); 468 child_impl_->SetDrawsContent(true);
468 ExecuteCalculateDrawProperties(root_impl_); 469 ExecuteCalculateDrawProperties(root_impl_);
469 470
(...skipping 11 matching lines...) Expand all
481 expected_surface_draw_transform.MakeIdentity(); 482 expected_surface_draw_transform.MakeIdentity();
482 expected_surface_draw_transform.Translate(-10.0, -30.0); // scroll delta 483 expected_surface_draw_transform.Translate(-10.0, -30.0); // scroll delta
483 expected_surface_draw_transform.Translate(8.0, 6.0); 484 expected_surface_draw_transform.Translate(8.0, 6.0);
484 485
485 expected_great_grand_child_transform.MakeIdentity(); 486 expected_great_grand_child_transform.MakeIdentity();
486 // explicit canceling out the scroll delta that gets embedded in the fixed 487 // explicit canceling out the scroll delta that gets embedded in the fixed
487 // position layer's surface. 488 // position layer's surface.
488 expected_great_grand_child_transform.Translate(10.0, 30.0); 489 expected_great_grand_child_transform.Translate(10.0, 30.0);
489 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z); 490 expected_great_grand_child_transform.PreconcatTransform(rotation_about_z);
490 491
491 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); 492 EXPECT_TRUE(GetRenderSurface(grand_child_impl_));
492 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 493 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
493 child_impl_->DrawTransform()); 494 child_impl_->DrawTransform());
494 EXPECT_TRANSFORMATION_MATRIX_EQ( 495 EXPECT_TRANSFORMATION_MATRIX_EQ(
495 expected_surface_draw_transform, 496 expected_surface_draw_transform,
496 grand_child_impl_->GetRenderSurface()->draw_transform()); 497 GetRenderSurface(grand_child_impl_)->draw_transform());
497 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 498 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
498 grand_child_impl_->DrawTransform()); 499 grand_child_impl_->DrawTransform());
499 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, 500 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform,
500 great_grand_child_impl_->DrawTransform()); 501 great_grand_child_impl_->DrawTransform());
501 502
502 // Case 3: fixed-container size delta of 20, 20 503 // Case 3: fixed-container size delta of 20, 20
503 outer_viewport_container_layer_impl_->SetViewportBoundsDelta( 504 outer_viewport_container_layer_impl_->SetViewportBoundsDelta(
504 gfx::Vector2d(20, 20)); 505 gfx::Vector2d(20, 20));
505 ExecuteCalculateDrawProperties(root_impl_); 506 ExecuteCalculateDrawProperties(root_impl_);
506 507
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 gfx::Transform expected_grand_child_transform; 591 gfx::Transform expected_grand_child_transform;
591 592
592 gfx::Transform expected_great_grand_child_surface_draw_transform; 593 gfx::Transform expected_great_grand_child_surface_draw_transform;
593 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0); 594 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0);
594 595
595 gfx::Transform expected_great_grand_child_transform; 596 gfx::Transform expected_great_grand_child_transform;
596 597
597 gfx::Transform expected_fixed_position_child_transform; 598 gfx::Transform expected_fixed_position_child_transform;
598 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); 599 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z);
599 600
600 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); 601 EXPECT_TRUE(GetRenderSurface(grand_child_impl_));
601 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); 602 EXPECT_TRUE(GetRenderSurface(great_grand_child_impl_));
602 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 603 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
603 child_impl_->DrawTransform()); 604 child_impl_->DrawTransform());
604 EXPECT_TRANSFORMATION_MATRIX_EQ( 605 EXPECT_TRANSFORMATION_MATRIX_EQ(
605 expected_grand_child_surface_draw_transform, 606 expected_grand_child_surface_draw_transform,
606 grand_child_impl_->GetRenderSurface()->draw_transform()); 607 GetRenderSurface(grand_child_impl_)->draw_transform());
607 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 608 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
608 grand_child_impl_->DrawTransform()); 609 grand_child_impl_->DrawTransform());
609 EXPECT_TRANSFORMATION_MATRIX_EQ( 610 EXPECT_TRANSFORMATION_MATRIX_EQ(
610 expected_great_grand_child_surface_draw_transform, 611 expected_great_grand_child_surface_draw_transform,
611 great_grand_child_impl_->GetRenderSurface()->draw_transform()); 612 GetRenderSurface(great_grand_child_impl_)->draw_transform());
612 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, 613 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform,
613 great_grand_child_impl_->DrawTransform()); 614 great_grand_child_impl_->DrawTransform());
614 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, 615 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform,
615 fixed_position_child_impl->DrawTransform()); 616 fixed_position_child_impl->DrawTransform());
616 617
617 // Case 2: scroll delta of 10, 30 618 // Case 2: scroll delta of 10, 30
618 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); 619 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30));
619 ExecuteCalculateDrawProperties(root_impl_); 620 ExecuteCalculateDrawProperties(root_impl_);
620 621
621 expected_child_transform.MakeIdentity(); 622 expected_child_transform.MakeIdentity();
622 expected_child_transform.Translate(-10.0, -30.0); // scroll delta 623 expected_child_transform.Translate(-10.0, -30.0); // scroll delta
623 624
624 expected_grand_child_surface_draw_transform.MakeIdentity(); 625 expected_grand_child_surface_draw_transform.MakeIdentity();
625 expected_grand_child_surface_draw_transform.Translate(-10.0, 626 expected_grand_child_surface_draw_transform.Translate(-10.0,
626 -30.0); // scroll delta 627 -30.0); // scroll delta
627 expected_grand_child_surface_draw_transform.Translate(8.0, 6.0); 628 expected_grand_child_surface_draw_transform.Translate(8.0, 6.0);
628 629
629 // grand_child, great_grand_child, and great_grand_child's surface are not 630 // grand_child, great_grand_child, and great_grand_child's surface are not
630 // expected to change, since they are all not fixed, and they are all drawn 631 // expected to change, since they are all not fixed, and they are all drawn
631 // with respect to grand_child's surface that already has the scroll delta 632 // with respect to grand_child's surface that already has the scroll delta
632 // accounted for. 633 // accounted for.
633 634
634 // But the great-great grandchild, "fixed_position_child", should have a 635 // But the great-great grandchild, "fixed_position_child", should have a
635 // transform that explicitly cancels out the scroll delta. 636 // transform that explicitly cancels out the scroll delta.
636 expected_fixed_position_child_transform.MakeIdentity(); 637 expected_fixed_position_child_transform.MakeIdentity();
637 expected_fixed_position_child_transform.Translate(10.0, 30.0); 638 expected_fixed_position_child_transform.Translate(10.0, 30.0);
638 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); 639 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z);
639 640
640 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); 641 EXPECT_TRUE(GetRenderSurface(grand_child_impl_));
641 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); 642 EXPECT_TRUE(GetRenderSurface(great_grand_child_impl_));
642 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 643 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
643 child_impl_->DrawTransform()); 644 child_impl_->DrawTransform());
644 EXPECT_TRANSFORMATION_MATRIX_EQ( 645 EXPECT_TRANSFORMATION_MATRIX_EQ(
645 expected_grand_child_surface_draw_transform, 646 expected_grand_child_surface_draw_transform,
646 grand_child_impl_->GetRenderSurface()->draw_transform()); 647 GetRenderSurface(grand_child_impl_)->draw_transform());
647 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 648 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
648 grand_child_impl_->DrawTransform()); 649 grand_child_impl_->DrawTransform());
649 EXPECT_TRANSFORMATION_MATRIX_EQ( 650 EXPECT_TRANSFORMATION_MATRIX_EQ(
650 expected_great_grand_child_surface_draw_transform, 651 expected_great_grand_child_surface_draw_transform,
651 great_grand_child_impl_->GetRenderSurface()->draw_transform()); 652 GetRenderSurface(great_grand_child_impl_)->draw_transform());
652 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, 653 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform,
653 great_grand_child_impl_->DrawTransform()); 654 great_grand_child_impl_->DrawTransform());
654 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, 655 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform,
655 fixed_position_child_impl->DrawTransform()); 656 fixed_position_child_impl->DrawTransform());
656 657
657 // Case 3: fixed-container size delta of 20, 20 658 // Case 3: fixed-container size delta of 20, 20
658 outer_viewport_container_layer_impl_->SetViewportBoundsDelta( 659 outer_viewport_container_layer_impl_->SetViewportBoundsDelta(
659 gfx::Vector2d(20, 20)); 660 gfx::Vector2d(20, 20));
660 ExecuteCalculateDrawProperties(root_impl_); 661 ExecuteCalculateDrawProperties(root_impl_);
661 662
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 gfx::Transform expected_grand_child_transform; 755 gfx::Transform expected_grand_child_transform;
755 756
756 gfx::Transform expected_great_grand_child_surface_draw_transform; 757 gfx::Transform expected_great_grand_child_surface_draw_transform;
757 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0); 758 expected_great_grand_child_surface_draw_transform.Translate(40.0, 60.0);
758 759
759 gfx::Transform expected_great_grand_child_transform; 760 gfx::Transform expected_great_grand_child_transform;
760 761
761 gfx::Transform expected_fixed_position_child_transform; 762 gfx::Transform expected_fixed_position_child_transform;
762 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); 763 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z);
763 764
764 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); 765 EXPECT_TRUE(GetRenderSurface(grand_child_impl_));
765 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); 766 EXPECT_TRUE(GetRenderSurface(great_grand_child_impl_));
766 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 767 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
767 child_impl_->DrawTransform()); 768 child_impl_->DrawTransform());
768 EXPECT_TRANSFORMATION_MATRIX_EQ( 769 EXPECT_TRANSFORMATION_MATRIX_EQ(
769 expected_grand_child_surface_draw_transform, 770 expected_grand_child_surface_draw_transform,
770 grand_child_impl_->GetRenderSurface()->draw_transform()); 771 GetRenderSurface(grand_child_impl_)->draw_transform());
771 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 772 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
772 grand_child_impl_->DrawTransform()); 773 grand_child_impl_->DrawTransform());
773 EXPECT_TRANSFORMATION_MATRIX_EQ( 774 EXPECT_TRANSFORMATION_MATRIX_EQ(
774 expected_great_grand_child_surface_draw_transform, 775 expected_great_grand_child_surface_draw_transform,
775 great_grand_child_impl_->GetRenderSurface()->draw_transform()); 776 GetRenderSurface(great_grand_child_impl_)->draw_transform());
776 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, 777 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform,
777 great_grand_child_impl_->DrawTransform()); 778 great_grand_child_impl_->DrawTransform());
778 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, 779 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform,
779 fixed_position_child_impl->DrawTransform()); 780 fixed_position_child_impl->DrawTransform());
780 781
781 // Case 2: scroll delta of 10, 30 782 // Case 2: scroll delta of 10, 30
782 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30)); 783 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 30));
783 ExecuteCalculateDrawProperties(root_impl_); 784 ExecuteCalculateDrawProperties(root_impl_);
784 785
785 expected_child_transform.MakeIdentity(); 786 expected_child_transform.MakeIdentity();
(...skipping 13 matching lines...) Expand all
799 // accounted for. 800 // accounted for.
800 801
801 // But the great-great grandchild, "fixed_position_child", should have a 802 // But the great-great grandchild, "fixed_position_child", should have a
802 // transform that explicitly cancels out the scroll delta. 803 // transform that explicitly cancels out the scroll delta.
803 expected_fixed_position_child_transform.MakeIdentity(); 804 expected_fixed_position_child_transform.MakeIdentity();
804 // explicit canceling out the scroll delta that gets embedded in the fixed 805 // explicit canceling out the scroll delta that gets embedded in the fixed
805 // position layer's surface. 806 // position layer's surface.
806 expected_fixed_position_child_transform.Translate(10.0, 30.0); 807 expected_fixed_position_child_transform.Translate(10.0, 30.0);
807 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z); 808 expected_fixed_position_child_transform.PreconcatTransform(rotation_about_z);
808 809
809 EXPECT_TRUE(grand_child_impl_->GetRenderSurface()); 810 EXPECT_TRUE(GetRenderSurface(grand_child_impl_));
810 EXPECT_TRUE(great_grand_child_impl_->GetRenderSurface()); 811 EXPECT_TRUE(GetRenderSurface(great_grand_child_impl_));
811 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 812 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
812 child_impl_->DrawTransform()); 813 child_impl_->DrawTransform());
813 EXPECT_TRANSFORMATION_MATRIX_EQ( 814 EXPECT_TRANSFORMATION_MATRIX_EQ(
814 expected_grand_child_surface_draw_transform, 815 expected_grand_child_surface_draw_transform,
815 grand_child_impl_->GetRenderSurface()->draw_transform()); 816 GetRenderSurface(grand_child_impl_)->draw_transform());
816 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 817 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
817 grand_child_impl_->DrawTransform()); 818 grand_child_impl_->DrawTransform());
818 EXPECT_TRANSFORMATION_MATRIX_EQ( 819 EXPECT_TRANSFORMATION_MATRIX_EQ(
819 expected_great_grand_child_surface_draw_transform, 820 expected_great_grand_child_surface_draw_transform,
820 great_grand_child_impl_->GetRenderSurface()->draw_transform()); 821 GetRenderSurface(great_grand_child_impl_)->draw_transform());
821 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform, 822 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_great_grand_child_transform,
822 great_grand_child_impl_->DrawTransform()); 823 great_grand_child_impl_->DrawTransform());
823 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform, 824 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_position_child_transform,
824 fixed_position_child_impl->DrawTransform()); 825 fixed_position_child_impl->DrawTransform());
825 } 826 }
826 827
827 TEST_F(LayerPositionConstraintTest, 828 TEST_F(LayerPositionConstraintTest,
828 ScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface) { 829 ScrollCompensationForFixedPositionLayerWithContainerLayerThatHasSurface) {
829 // This test checks for correct scroll compensation when the fixed-position 830 // This test checks for correct scroll compensation when the fixed-position
830 // container itself has a render surface. In this case, the container layer 831 // container itself has a render surface. In this case, the container layer
831 // should be treated like a layer that contributes to a render target, and 832 // should be treated like a layer that contributes to a render target, and
832 // that render target is completely irrelevant; it should not affect the 833 // that render target is completely irrelevant; it should not affect the
833 // scroll compensation. 834 // scroll compensation.
834 child_->SetIsContainerForFixedPositionLayers(true); 835 child_->SetIsContainerForFixedPositionLayers(true);
835 child_->SetForceRenderSurfaceForTesting(true); 836 child_->SetForceRenderSurfaceForTesting(true);
836 grand_child_->SetPositionConstraint(fixed_to_top_left_); 837 grand_child_->SetPositionConstraint(fixed_to_top_left_);
837 838
838 CommitAndUpdateImplPointers(); 839 CommitAndUpdateImplPointers();
839 840
840 // Case 1: scroll delta of 0, 0 841 // Case 1: scroll delta of 0, 0
841 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0)); 842 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(0, 0));
842 ExecuteCalculateDrawProperties(root_impl_); 843 ExecuteCalculateDrawProperties(root_impl_);
843 844
844 gfx::Transform expected_surface_draw_transform; 845 gfx::Transform expected_surface_draw_transform;
845 gfx::Transform expected_child_transform; 846 gfx::Transform expected_child_transform;
846 gfx::Transform expected_grand_child_transform; 847 gfx::Transform expected_grand_child_transform;
847 EXPECT_TRUE(child_impl_->GetRenderSurface()); 848 EXPECT_TRUE(GetRenderSurface(child_impl_));
848 EXPECT_TRANSFORMATION_MATRIX_EQ( 849 EXPECT_TRANSFORMATION_MATRIX_EQ(
849 expected_surface_draw_transform, 850 expected_surface_draw_transform,
850 child_impl_->GetRenderSurface()->draw_transform()); 851 GetRenderSurface(child_impl_)->draw_transform());
851 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 852 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
852 child_impl_->DrawTransform()); 853 child_impl_->DrawTransform());
853 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 854 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
854 grand_child_impl_->DrawTransform()); 855 grand_child_impl_->DrawTransform());
855 856
856 // Case 2: scroll delta of 10, 10 857 // Case 2: scroll delta of 10, 10
857 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 10)); 858 SetScrollOffsetDelta(child_impl_, gfx::Vector2d(10, 10));
858 ExecuteCalculateDrawProperties(root_impl_); 859 ExecuteCalculateDrawProperties(root_impl_);
859 860
860 // The surface is translated by scroll delta, the child transform doesn't 861 // The surface is translated by scroll delta, the child transform doesn't
861 // change because it scrolls along with the surface, but the fixed position 862 // change because it scrolls along with the surface, but the fixed position
862 // grand_child needs to compensate for the scroll translation. 863 // grand_child needs to compensate for the scroll translation.
863 expected_surface_draw_transform.MakeIdentity(); 864 expected_surface_draw_transform.MakeIdentity();
864 expected_surface_draw_transform.Translate(-10.0, -10.0); 865 expected_surface_draw_transform.Translate(-10.0, -10.0);
865 expected_grand_child_transform.MakeIdentity(); 866 expected_grand_child_transform.MakeIdentity();
866 expected_grand_child_transform.Translate(10.0, 10.0); 867 expected_grand_child_transform.Translate(10.0, 10.0);
867 868
868 EXPECT_TRUE(child_impl_->GetRenderSurface()); 869 EXPECT_TRUE(GetRenderSurface(child_impl_));
869 EXPECT_TRANSFORMATION_MATRIX_EQ( 870 EXPECT_TRANSFORMATION_MATRIX_EQ(
870 expected_surface_draw_transform, 871 expected_surface_draw_transform,
871 child_impl_->GetRenderSurface()->draw_transform()); 872 GetRenderSurface(child_impl_)->draw_transform());
872 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform, 873 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_child_transform,
873 child_impl_->DrawTransform()); 874 child_impl_->DrawTransform());
874 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform, 875 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_grand_child_transform,
875 grand_child_impl_->DrawTransform()); 876 grand_child_impl_->DrawTransform());
876 877
877 // Case 3: fixed-container size delta of 20, 20 878 // Case 3: fixed-container size delta of 20, 20
878 outer_viewport_container_layer_impl_->SetViewportBoundsDelta( 879 outer_viewport_container_layer_impl_->SetViewportBoundsDelta(
879 gfx::Vector2d(20, 20)); 880 gfx::Vector2d(20, 20));
880 ExecuteCalculateDrawProperties(root_impl_); 881 ExecuteCalculateDrawProperties(root_impl_);
881 882
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 expected_fixed_child_transform.Translate(20.0, 20.0); 1145 expected_fixed_child_transform.Translate(20.0, 20.0);
1145 1146
1146 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_scroll_layer_transform, 1147 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_scroll_layer_transform,
1147 scroll_layer_impl_->DrawTransform()); 1148 scroll_layer_impl_->DrawTransform());
1148 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_child_transform, 1149 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_child_transform,
1149 fixed_child_impl->DrawTransform()); 1150 fixed_child_impl->DrawTransform());
1150 } 1151 }
1151 1152
1152 } // namespace 1153 } // namespace
1153 } // namespace cc 1154 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/render_surface_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698