OLD | NEW |
---|---|
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_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
871 grand_child_of_rs2->test_properties()->transform_origin = | 871 grand_child_of_rs2->test_properties()->transform_origin = |
872 gfx::Point3F(2.5f, 0.f, 0.f); | 872 gfx::Point3F(2.5f, 0.f, 0.f); |
873 grand_child_of_rs2->test_properties()->transform = layer_transform; | 873 grand_child_of_rs2->test_properties()->transform = layer_transform; |
874 grand_child_of_rs2->SetBounds(gfx::Size(10, 10)); | 874 grand_child_of_rs2->SetBounds(gfx::Size(10, 10)); |
875 | 875 |
876 ExecuteCalculateDrawProperties(root); | 876 ExecuteCalculateDrawProperties(root); |
877 | 877 |
878 // Only layers that are associated with render surfaces should have an actual | 878 // Only layers that are associated with render surfaces should have an actual |
879 // RenderSurface() value. | 879 // RenderSurface() value. |
880 ASSERT_TRUE(GetRenderSurface(root)); | 880 ASSERT_TRUE(GetRenderSurface(root)); |
881 ASSERT_FALSE(GetRenderSurface(child_of_root)); | 881 ASSERT_EQ(GetRenderSurface(child_of_root), GetRenderSurface(root)); |
wkorman
2017/05/11 22:09:26
Adding assert/expect helper to shorten all of thes
chrishtr
2017/05/11 22:15:39
Per offline discussion, will just leave it.
| |
882 ASSERT_FALSE(GetRenderSurface(grand_child_of_root)); | 882 ASSERT_EQ(GetRenderSurface(grand_child_of_root), GetRenderSurface(root)); |
883 | 883 |
884 ASSERT_TRUE(GetRenderSurface(render_surface1)); | 884 ASSERT_NE(GetRenderSurface(render_surface1), GetRenderSurface(root)); |
885 ASSERT_FALSE(GetRenderSurface(child_of_rs1)); | 885 ASSERT_EQ(GetRenderSurface(child_of_rs1), GetRenderSurface(render_surface1)); |
886 ASSERT_FALSE(GetRenderSurface(grand_child_of_rs1)); | 886 ASSERT_EQ(GetRenderSurface(grand_child_of_rs1), |
887 GetRenderSurface(render_surface1)); | |
887 | 888 |
888 ASSERT_TRUE(GetRenderSurface(render_surface2)); | 889 ASSERT_NE(GetRenderSurface(render_surface2), GetRenderSurface(root)); |
889 ASSERT_FALSE(GetRenderSurface(child_of_rs2)); | 890 ASSERT_NE(GetRenderSurface(render_surface2), |
890 ASSERT_FALSE(GetRenderSurface(grand_child_of_rs2)); | 891 GetRenderSurface(render_surface1)); |
892 ASSERT_EQ(GetRenderSurface(child_of_rs2), GetRenderSurface(render_surface2)); | |
893 ASSERT_EQ(GetRenderSurface(grand_child_of_rs2), | |
894 GetRenderSurface(render_surface2)); | |
891 | 895 |
892 // Verify all render target accessors | 896 // Verify all render target accessors |
893 EXPECT_EQ(GetRenderSurface(root), parent->render_target()); | 897 EXPECT_EQ(GetRenderSurface(root), parent->render_target()); |
894 EXPECT_EQ(GetRenderSurface(root), child_of_root->render_target()); | 898 EXPECT_EQ(GetRenderSurface(root), child_of_root->render_target()); |
895 EXPECT_EQ(GetRenderSurface(root), grand_child_of_root->render_target()); | 899 EXPECT_EQ(GetRenderSurface(root), grand_child_of_root->render_target()); |
896 | 900 |
897 EXPECT_EQ(GetRenderSurface(render_surface1), | 901 EXPECT_EQ(GetRenderSurface(render_surface1), |
898 render_surface1->render_target()); | 902 render_surface1->render_target()); |
899 EXPECT_EQ(GetRenderSurface(render_surface1), child_of_rs1->render_target()); | 903 EXPECT_EQ(GetRenderSurface(render_surface1), child_of_rs1->render_target()); |
900 EXPECT_EQ(GetRenderSurface(render_surface1), | 904 EXPECT_EQ(GetRenderSurface(render_surface1), |
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1541 surface1->test_properties()->force_render_surface = true; | 1545 surface1->test_properties()->force_render_surface = true; |
1542 not_surface->SetBounds(gfx::Size(10, 10)); | 1546 not_surface->SetBounds(gfx::Size(10, 10)); |
1543 not_surface->test_properties()->opacity = 0.5f; | 1547 not_surface->test_properties()->opacity = 0.5f; |
1544 surface2->SetBounds(gfx::Size(10, 10)); | 1548 surface2->SetBounds(gfx::Size(10, 10)); |
1545 surface2->SetDrawsContent(true); | 1549 surface2->SetDrawsContent(true); |
1546 surface2->test_properties()->opacity = 0.5f; | 1550 surface2->test_properties()->opacity = 0.5f; |
1547 surface2->test_properties()->force_render_surface = true; | 1551 surface2->test_properties()->force_render_surface = true; |
1548 ExecuteCalculateDrawProperties(root); | 1552 ExecuteCalculateDrawProperties(root); |
1549 | 1553 |
1550 ASSERT_TRUE(GetRenderSurface(surface1)); | 1554 ASSERT_TRUE(GetRenderSurface(surface1)); |
1551 ASSERT_FALSE(GetRenderSurface(not_surface)); | 1555 ASSERT_EQ(GetRenderSurface(not_surface), GetRenderSurface(surface1)); |
1552 ASSERT_TRUE(GetRenderSurface(surface2)); | 1556 ASSERT_TRUE(GetRenderSurface(surface2)); |
1553 EXPECT_EQ(0.5f, GetRenderSurface(surface1)->draw_opacity()); | 1557 EXPECT_EQ(0.5f, GetRenderSurface(surface1)->draw_opacity()); |
1554 // surface2's draw opacity should include the opacity of not-surface and | 1558 // surface2's draw opacity should include the opacity of not-surface and |
1555 // itself, but not the opacity of surface1. | 1559 // itself, but not the opacity of surface1. |
1556 EXPECT_EQ(0.25f, GetRenderSurface(surface2)->draw_opacity()); | 1560 EXPECT_EQ(0.25f, GetRenderSurface(surface2)->draw_opacity()); |
1557 } | 1561 } |
1558 | 1562 |
1559 TEST_F(LayerTreeHostCommonTest, ForceRenderSurface) { | 1563 TEST_F(LayerTreeHostCommonTest, ForceRenderSurface) { |
1560 LayerImpl* root = root_layer_for_testing(); | 1564 LayerImpl* root = root_layer_for_testing(); |
1561 LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>(); | 1565 LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>(); |
1562 LayerImpl* child = AddChild<LayerImpl>(render_surface1); | 1566 LayerImpl* child = AddChild<LayerImpl>(render_surface1); |
1563 | 1567 |
1564 root->SetBounds(gfx::Size(10, 10)); | 1568 root->SetBounds(gfx::Size(10, 10)); |
1565 render_surface1->SetBounds(gfx::Size(10, 10)); | 1569 render_surface1->SetBounds(gfx::Size(10, 10)); |
1566 render_surface1->test_properties()->force_render_surface = true; | 1570 render_surface1->test_properties()->force_render_surface = true; |
1567 child->SetBounds(gfx::Size(10, 10)); | 1571 child->SetBounds(gfx::Size(10, 10)); |
1568 child->SetDrawsContent(true); | 1572 child->SetDrawsContent(true); |
1569 | 1573 |
1570 { | 1574 { |
1571 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 1575 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
1572 | 1576 |
1573 // The root layer always creates a render surface | 1577 // The root layer always creates a render surface |
1574 EXPECT_TRUE(GetRenderSurface(root)); | 1578 EXPECT_TRUE(GetRenderSurface(root)); |
1575 EXPECT_TRUE(GetRenderSurface(render_surface1)); | 1579 EXPECT_NE(GetRenderSurface(render_surface1), GetRenderSurface(root)); |
1576 } | 1580 } |
1577 | 1581 |
1578 { | 1582 { |
1579 render_surface1->test_properties()->force_render_surface = false; | 1583 render_surface1->test_properties()->force_render_surface = false; |
1580 render_surface1->layer_tree_impl()->property_trees()->needs_rebuild = true; | 1584 render_surface1->layer_tree_impl()->property_trees()->needs_rebuild = true; |
1581 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 1585 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
1582 EXPECT_TRUE(GetRenderSurface(root)); | 1586 EXPECT_TRUE(GetRenderSurface(root)); |
1583 EXPECT_FALSE(GetRenderSurface(render_surface1)); | 1587 EXPECT_EQ(GetRenderSurface(render_surface1), GetRenderSurface(root)); |
1584 } | 1588 } |
1585 } | 1589 } |
1586 | 1590 |
1587 TEST_F(LayerTreeHostCommonTest, RenderSurfacesFlattenScreenSpaceTransform) { | 1591 TEST_F(LayerTreeHostCommonTest, RenderSurfacesFlattenScreenSpaceTransform) { |
1588 // Render surfaces act as a flattening point for their subtree, so should | 1592 // Render surfaces act as a flattening point for their subtree, so should |
1589 // always flatten the target-to-screen space transform seen by descendants. | 1593 // always flatten the target-to-screen space transform seen by descendants. |
1590 LayerImpl* root = root_layer_for_testing(); | 1594 LayerImpl* root = root_layer_for_testing(); |
1591 LayerImpl* parent = AddChild<LayerImpl>(root); | 1595 LayerImpl* parent = AddChild<LayerImpl>(root); |
1592 LayerImpl* child = AddChild<LayerImpl>(parent); | 1596 LayerImpl* child = AddChild<LayerImpl>(parent); |
1593 LayerImpl* grand_child = AddChild<LayerImpl>(child); | 1597 LayerImpl* grand_child = AddChild<LayerImpl>(child); |
1594 | 1598 |
1595 gfx::Transform rotation_about_y_axis; | 1599 gfx::Transform rotation_about_y_axis; |
1596 rotation_about_y_axis.RotateAboutYAxis(30.0); | 1600 rotation_about_y_axis.RotateAboutYAxis(30.0); |
1597 | 1601 |
1598 root->SetBounds(gfx::Size(100, 100)); | 1602 root->SetBounds(gfx::Size(100, 100)); |
1599 parent->test_properties()->transform = rotation_about_y_axis; | 1603 parent->test_properties()->transform = rotation_about_y_axis; |
1600 parent->SetBounds(gfx::Size(10, 10)); | 1604 parent->SetBounds(gfx::Size(10, 10)); |
1601 parent->test_properties()->force_render_surface = true; | 1605 parent->test_properties()->force_render_surface = true; |
1602 child->SetBounds(gfx::Size(10, 10)); | 1606 child->SetBounds(gfx::Size(10, 10)); |
1603 child->SetDrawsContent(true); | 1607 child->SetDrawsContent(true); |
1604 grand_child->SetBounds(gfx::Size(10, 10)); | 1608 grand_child->SetBounds(gfx::Size(10, 10)); |
1605 grand_child->SetDrawsContent(true); | 1609 grand_child->SetDrawsContent(true); |
1606 grand_child->test_properties()->should_flatten_transform = false; | 1610 grand_child->test_properties()->should_flatten_transform = false; |
1607 ExecuteCalculateDrawProperties(root); | 1611 ExecuteCalculateDrawProperties(root); |
1608 | 1612 |
1609 EXPECT_TRUE(GetRenderSurface(parent)); | 1613 EXPECT_TRUE(GetRenderSurface(parent)); |
1610 EXPECT_FALSE(GetRenderSurface(child)); | 1614 EXPECT_EQ(GetRenderSurface(child), GetRenderSurface(parent)); |
1611 EXPECT_FALSE(GetRenderSurface(grand_child)); | 1615 EXPECT_EQ(GetRenderSurface(grand_child), GetRenderSurface(parent)); |
1612 | 1616 |
1613 EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(), child->DrawTransform()); | 1617 EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(), child->DrawTransform()); |
1614 EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(), | 1618 EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(), |
1615 grand_child->DrawTransform()); | 1619 grand_child->DrawTransform()); |
1616 | 1620 |
1617 // The screen-space transform inherited by |child| and |grand_child| should | 1621 // The screen-space transform inherited by |child| and |grand_child| should |
1618 // have been flattened at their render target. In particular, the fact that | 1622 // have been flattened at their render target. In particular, the fact that |
1619 // |grand_child| happens to preserve 3d shouldn't affect this flattening. | 1623 // |grand_child| happens to preserve 3d shouldn't affect this flattening. |
1620 gfx::Transform flattened_rotation_about_y = rotation_about_y_axis; | 1624 gfx::Transform flattened_rotation_about_y = rotation_about_y_axis; |
1621 flattened_rotation_about_y.FlattenTo2d(); | 1625 flattened_rotation_about_y.FlattenTo2d(); |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2039 timeline_impl(), 10.0, 30, 0); | 2043 timeline_impl(), 10.0, 30, 0); |
2040 AddAnimatedTransformToElementWithPlayer(grand_child_of_rs2->element_id(), | 2044 AddAnimatedTransformToElementWithPlayer(grand_child_of_rs2->element_id(), |
2041 timeline_impl(), 10.0, 30, 0); | 2045 timeline_impl(), 10.0, 30, 0); |
2042 | 2046 |
2043 root->layer_tree_impl()->property_trees()->needs_rebuild = true; | 2047 root->layer_tree_impl()->property_trees()->needs_rebuild = true; |
2044 ExecuteCalculateDrawProperties(root); | 2048 ExecuteCalculateDrawProperties(root); |
2045 | 2049 |
2046 // Only layers that are associated with render surfaces should have an actual | 2050 // Only layers that are associated with render surfaces should have an actual |
2047 // RenderSurface() value. | 2051 // RenderSurface() value. |
2048 ASSERT_TRUE(GetRenderSurface(root)); | 2052 ASSERT_TRUE(GetRenderSurface(root)); |
2049 ASSERT_FALSE(GetRenderSurface(child_of_root)); | 2053 ASSERT_EQ(GetRenderSurface(child_of_root), GetRenderSurface(root)); |
2050 ASSERT_FALSE(GetRenderSurface(grand_child_of_root)); | 2054 ASSERT_EQ(GetRenderSurface(grand_child_of_root), GetRenderSurface(root)); |
2051 | 2055 |
2052 ASSERT_TRUE(GetRenderSurface(render_surface1)); | 2056 ASSERT_NE(GetRenderSurface(render_surface1), GetRenderSurface(root)); |
2053 ASSERT_FALSE(GetRenderSurface(child_of_rs1)); | 2057 ASSERT_EQ(GetRenderSurface(child_of_rs1), GetRenderSurface(render_surface1)); |
2054 ASSERT_FALSE(GetRenderSurface(grand_child_of_rs1)); | 2058 ASSERT_EQ(GetRenderSurface(grand_child_of_rs1), |
2059 GetRenderSurface(render_surface1)); | |
2055 | 2060 |
2056 ASSERT_TRUE(GetRenderSurface(render_surface2)); | 2061 ASSERT_NE(GetRenderSurface(render_surface2), GetRenderSurface(root)); |
2057 ASSERT_FALSE(GetRenderSurface(child_of_rs2)); | 2062 ASSERT_NE(GetRenderSurface(render_surface2), |
2058 ASSERT_FALSE(GetRenderSurface(grand_child_of_rs2)); | 2063 GetRenderSurface(render_surface1)); |
2064 ASSERT_EQ(GetRenderSurface(child_of_rs2), GetRenderSurface(render_surface2)); | |
2065 ASSERT_EQ(GetRenderSurface(grand_child_of_rs2), | |
2066 GetRenderSurface(render_surface2)); | |
2059 | 2067 |
2060 // Verify all render target accessors | 2068 // Verify all render target accessors |
2061 EXPECT_EQ(GetRenderSurface(root), root->render_target()); | 2069 EXPECT_EQ(GetRenderSurface(root), root->render_target()); |
2062 EXPECT_EQ(GetRenderSurface(root), child_of_root->render_target()); | 2070 EXPECT_EQ(GetRenderSurface(root), child_of_root->render_target()); |
2063 EXPECT_EQ(GetRenderSurface(root), grand_child_of_root->render_target()); | 2071 EXPECT_EQ(GetRenderSurface(root), grand_child_of_root->render_target()); |
2064 | 2072 |
2065 EXPECT_EQ(GetRenderSurface(render_surface1), | 2073 EXPECT_EQ(GetRenderSurface(render_surface1), |
2066 render_surface1->render_target()); | 2074 render_surface1->render_target()); |
2067 EXPECT_EQ(GetRenderSurface(render_surface1), child_of_rs1->render_target()); | 2075 EXPECT_EQ(GetRenderSurface(render_surface1), child_of_rs1->render_target()); |
2068 EXPECT_EQ(GetRenderSurface(render_surface1), | 2076 EXPECT_EQ(GetRenderSurface(render_surface1), |
(...skipping 1610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3679 backface_matrix; | 3687 backface_matrix; |
3680 back_facing_child_of_back_facing_surface->test_properties()->transform = | 3688 back_facing_child_of_back_facing_surface->test_properties()->transform = |
3681 backface_matrix; | 3689 backface_matrix; |
3682 | 3690 |
3683 // Note: No layers preserve 3d. According to current W3C CSS gfx::Transforms | 3691 // Note: No layers preserve 3d. According to current W3C CSS gfx::Transforms |
3684 // spec, these layers should blindly use their own local transforms to | 3692 // spec, these layers should blindly use their own local transforms to |
3685 // determine back-face culling. | 3693 // determine back-face culling. |
3686 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 3694 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
3687 | 3695 |
3688 // Verify which render surfaces were created. | 3696 // Verify which render surfaces were created. |
3689 EXPECT_FALSE(GetRenderSurface(front_facing_child)); | 3697 EXPECT_EQ(GetRenderSurface(front_facing_child), GetRenderSurface(root)); |
3690 EXPECT_FALSE(GetRenderSurface(back_facing_child)); | 3698 EXPECT_EQ(GetRenderSurface(back_facing_child), GetRenderSurface(root)); |
3691 EXPECT_TRUE(GetRenderSurface(front_facing_surface)); | 3699 EXPECT_NE(GetRenderSurface(front_facing_surface), GetRenderSurface(root)); |
3692 EXPECT_TRUE(GetRenderSurface(back_facing_surface)); | 3700 EXPECT_NE(GetRenderSurface(back_facing_surface), GetRenderSurface(root)); |
3693 EXPECT_FALSE(GetRenderSurface(front_facing_child_of_front_facing_surface)); | 3701 EXPECT_NE(GetRenderSurface(back_facing_surface), |
3694 EXPECT_FALSE(GetRenderSurface(back_facing_child_of_front_facing_surface)); | 3702 GetRenderSurface(front_facing_surface)); |
3695 EXPECT_FALSE(GetRenderSurface(front_facing_child_of_back_facing_surface)); | 3703 EXPECT_EQ(GetRenderSurface(front_facing_child_of_front_facing_surface), |
3696 EXPECT_FALSE(GetRenderSurface(back_facing_child_of_back_facing_surface)); | 3704 GetRenderSurface(front_facing_surface)); |
3705 EXPECT_EQ(GetRenderSurface(back_facing_child_of_front_facing_surface), | |
3706 GetRenderSurface(front_facing_surface)); | |
3707 EXPECT_EQ(GetRenderSurface(front_facing_child_of_back_facing_surface), | |
3708 GetRenderSurface(back_facing_surface)); | |
3709 EXPECT_EQ(GetRenderSurface(back_facing_child_of_back_facing_surface), | |
3710 GetRenderSurface(back_facing_surface)); | |
3697 | 3711 |
3698 EXPECT_EQ(3u, update_layer_list_impl()->size()); | 3712 EXPECT_EQ(3u, update_layer_list_impl()->size()); |
3699 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_child->id())); | 3713 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_child->id())); |
3700 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id())); | 3714 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id())); |
3701 EXPECT_TRUE(UpdateLayerListImplContains( | 3715 EXPECT_TRUE(UpdateLayerListImplContains( |
3702 front_facing_child_of_front_facing_surface->id())); | 3716 front_facing_child_of_front_facing_surface->id())); |
3703 } | 3717 } |
3704 | 3718 |
3705 TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithPreserves3d) { | 3719 TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithPreserves3d) { |
3706 // Verify the behavior of back-face culling when preserves-3d transform style | 3720 // Verify the behavior of back-face culling when preserves-3d transform style |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3787 back_facing_child_of_front_facing_surface->test_properties() | 3801 back_facing_child_of_front_facing_surface->test_properties() |
3788 ->sorting_context_id = 1; | 3802 ->sorting_context_id = 1; |
3789 front_facing_child_of_back_facing_surface->test_properties() | 3803 front_facing_child_of_back_facing_surface->test_properties() |
3790 ->sorting_context_id = 1; | 3804 ->sorting_context_id = 1; |
3791 back_facing_child_of_back_facing_surface->test_properties() | 3805 back_facing_child_of_back_facing_surface->test_properties() |
3792 ->sorting_context_id = 1; | 3806 ->sorting_context_id = 1; |
3793 | 3807 |
3794 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 3808 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
3795 | 3809 |
3796 // Verify which render surfaces were created and used. | 3810 // Verify which render surfaces were created and used. |
3797 EXPECT_FALSE(GetRenderSurface(front_facing_child)); | 3811 EXPECT_EQ(GetRenderSurface(front_facing_child), GetRenderSurface(root)); |
3798 EXPECT_FALSE(GetRenderSurface(back_facing_child)); | 3812 EXPECT_EQ(GetRenderSurface(back_facing_child), GetRenderSurface(root)); |
3799 EXPECT_TRUE(GetRenderSurface(front_facing_surface)); | 3813 EXPECT_NE(GetRenderSurface(front_facing_surface), GetRenderSurface(root)); |
3800 // We expect that a has_render_surface was created but not used. | 3814 // We expect that a has_render_surface was created but not used. |
3801 EXPECT_TRUE(GetRenderSurface(back_facing_surface)); | 3815 EXPECT_NE(GetRenderSurface(back_facing_surface), GetRenderSurface(root)); |
3802 EXPECT_FALSE(GetRenderSurface(front_facing_child_of_front_facing_surface)); | 3816 EXPECT_NE(GetRenderSurface(back_facing_surface), |
3803 EXPECT_FALSE(GetRenderSurface(back_facing_child_of_front_facing_surface)); | 3817 GetRenderSurface(front_facing_surface)); |
3804 EXPECT_FALSE(GetRenderSurface(front_facing_child_of_back_facing_surface)); | 3818 EXPECT_EQ(GetRenderSurface(front_facing_child_of_front_facing_surface), |
3805 EXPECT_FALSE(GetRenderSurface(back_facing_child_of_back_facing_surface)); | 3819 GetRenderSurface(front_facing_surface)); |
3820 EXPECT_EQ(GetRenderSurface(back_facing_child_of_front_facing_surface), | |
3821 GetRenderSurface(front_facing_surface)); | |
3822 EXPECT_EQ(GetRenderSurface(front_facing_child_of_back_facing_surface), | |
3823 GetRenderSurface(back_facing_surface)); | |
3824 EXPECT_EQ(GetRenderSurface(back_facing_child_of_back_facing_surface), | |
3825 GetRenderSurface(back_facing_surface)); | |
3806 | 3826 |
3807 EXPECT_EQ(3u, update_layer_list_impl()->size()); | 3827 EXPECT_EQ(3u, update_layer_list_impl()->size()); |
3808 | 3828 |
3809 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_child->id())); | 3829 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_child->id())); |
3810 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id())); | 3830 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id())); |
3811 EXPECT_TRUE(UpdateLayerListImplContains( | 3831 EXPECT_TRUE(UpdateLayerListImplContains( |
3812 front_facing_child_of_front_facing_surface->id())); | 3832 front_facing_child_of_front_facing_surface->id())); |
3813 } | 3833 } |
3814 | 3834 |
3815 TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithAnimatingTransforms) { | 3835 TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithAnimatingTransforms) { |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3861 animating_surface->test_properties()->transform = backface_matrix; | 3881 animating_surface->test_properties()->transform = backface_matrix; |
3862 animating_surface->test_properties()->force_render_surface = true; | 3882 animating_surface->test_properties()->force_render_surface = true; |
3863 child_of_animating_surface->SetBounds(gfx::Size(100, 100)); | 3883 child_of_animating_surface->SetBounds(gfx::Size(100, 100)); |
3864 child_of_animating_surface->test_properties()->transform = backface_matrix; | 3884 child_of_animating_surface->test_properties()->transform = backface_matrix; |
3865 animating_child->SetBounds(gfx::Size(100, 100)); | 3885 animating_child->SetBounds(gfx::Size(100, 100)); |
3866 animating_child->test_properties()->transform = backface_matrix; | 3886 animating_child->test_properties()->transform = backface_matrix; |
3867 child2->SetBounds(gfx::Size(100, 100)); | 3887 child2->SetBounds(gfx::Size(100, 100)); |
3868 | 3888 |
3869 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 3889 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
3870 | 3890 |
3871 EXPECT_FALSE(GetRenderSurface(child)); | 3891 EXPECT_EQ(GetRenderSurface(child), GetRenderSurface(root)); |
3872 EXPECT_TRUE(GetRenderSurface(animating_surface)); | 3892 EXPECT_TRUE(GetRenderSurface(animating_surface)); |
3873 EXPECT_FALSE(GetRenderSurface(child_of_animating_surface)); | 3893 EXPECT_EQ(GetRenderSurface(child_of_animating_surface), |
3874 EXPECT_FALSE(GetRenderSurface(animating_child)); | 3894 GetRenderSurface(animating_surface)); |
3875 EXPECT_FALSE(GetRenderSurface(child2)); | 3895 EXPECT_EQ(GetRenderSurface(animating_child), GetRenderSurface(root)); |
3896 EXPECT_EQ(GetRenderSurface(child2), GetRenderSurface(root)); | |
3876 | 3897 |
3877 EXPECT_EQ(1u, update_layer_list_impl()->size()); | 3898 EXPECT_EQ(1u, update_layer_list_impl()->size()); |
3878 | 3899 |
3879 // The back facing layers are culled from the layer list, and have an empty | 3900 // The back facing layers are culled from the layer list, and have an empty |
3880 // visible rect. | 3901 // visible rect. |
3881 EXPECT_TRUE(UpdateLayerListImplContains(child2->id())); | 3902 EXPECT_TRUE(UpdateLayerListImplContains(child2->id())); |
3882 EXPECT_TRUE(child->visible_layer_rect().IsEmpty()); | 3903 EXPECT_TRUE(child->visible_layer_rect().IsEmpty()); |
3883 EXPECT_TRUE(animating_surface->visible_layer_rect().IsEmpty()); | 3904 EXPECT_TRUE(animating_surface->visible_layer_rect().IsEmpty()); |
3884 EXPECT_TRUE(child_of_animating_surface->visible_layer_rect().IsEmpty()); | 3905 EXPECT_TRUE(child_of_animating_surface->visible_layer_rect().IsEmpty()); |
3885 EXPECT_TRUE(animating_child->visible_layer_rect().IsEmpty()); | 3906 EXPECT_TRUE(animating_child->visible_layer_rect().IsEmpty()); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3924 | 3945 |
3925 front_facing_surface->test_properties()->sorting_context_id = 1; | 3946 front_facing_surface->test_properties()->sorting_context_id = 1; |
3926 back_facing_surface->test_properties()->sorting_context_id = 1; | 3947 back_facing_surface->test_properties()->sorting_context_id = 1; |
3927 | 3948 |
3928 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 3949 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
3929 | 3950 |
3930 // Verify which render surfaces were created and used. | 3951 // Verify which render surfaces were created and used. |
3931 EXPECT_TRUE(GetRenderSurface(front_facing_surface)); | 3952 EXPECT_TRUE(GetRenderSurface(front_facing_surface)); |
3932 | 3953 |
3933 // We expect the render surface to have been created, but remain unused. | 3954 // We expect the render surface to have been created, but remain unused. |
3934 EXPECT_TRUE(GetRenderSurface(back_facing_surface)); | 3955 EXPECT_NE(GetRenderSurface(back_facing_surface), GetRenderSurface(root)); |
3935 EXPECT_FALSE(GetRenderSurface(child1)); | 3956 EXPECT_EQ(GetRenderSurface(child1), GetRenderSurface(front_facing_surface)); |
3936 EXPECT_FALSE(GetRenderSurface(child2)); | 3957 EXPECT_EQ(GetRenderSurface(child2), GetRenderSurface(back_facing_surface)); |
3937 | 3958 |
3938 EXPECT_EQ(2u, update_layer_list_impl()->size()); | 3959 EXPECT_EQ(2u, update_layer_list_impl()->size()); |
3939 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id())); | 3960 EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id())); |
3940 EXPECT_TRUE(UpdateLayerListImplContains(child1->id())); | 3961 EXPECT_TRUE(UpdateLayerListImplContains(child1->id())); |
3941 } | 3962 } |
3942 | 3963 |
3943 TEST_F(LayerTreeHostCommonScalingTest, LayerTransformsInHighDPI) { | 3964 TEST_F(LayerTreeHostCommonScalingTest, LayerTransformsInHighDPI) { |
3944 // Verify draw and screen space transforms of layers not in a surface. | 3965 // Verify draw and screen space transforms of layers not in a surface. |
3945 LayerImpl* root = root_layer_for_testing(); | 3966 LayerImpl* root = root_layer_for_testing(); |
3946 root->SetBounds(gfx::Size(100, 100)); | 3967 root->SetBounds(gfx::Size(100, 100)); |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4326 LayerImpl* root = root_layer_for_testing(); | 4347 LayerImpl* root = root_layer_for_testing(); |
4327 LayerImpl* child = AddChild<LayerImpl>(root); | 4348 LayerImpl* child = AddChild<LayerImpl>(root); |
4328 LayerImpl* grand_child = AddChild<LayerImpl>(child); | 4349 LayerImpl* grand_child = AddChild<LayerImpl>(child); |
4329 | 4350 |
4330 root->SetBounds(gfx::Size(100, 100)); | 4351 root->SetBounds(gfx::Size(100, 100)); |
4331 child->SetBounds(gfx::Size(10, 10)); | 4352 child->SetBounds(gfx::Size(10, 10)); |
4332 child->test_properties()->opacity = 0.5f; | 4353 child->test_properties()->opacity = 0.5f; |
4333 grand_child->SetBounds(gfx::Size(10, 10)); | 4354 grand_child->SetBounds(gfx::Size(10, 10)); |
4334 grand_child->SetDrawsContent(true); | 4355 grand_child->SetDrawsContent(true); |
4335 ExecuteCalculateDrawProperties(root); | 4356 ExecuteCalculateDrawProperties(root); |
4336 EXPECT_FALSE(GetRenderSurface(child)); | 4357 EXPECT_EQ(GetRenderSurface(child), GetRenderSurface(root)); |
4337 } | 4358 } |
4338 | 4359 |
4339 TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) { | 4360 TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) { |
4340 FakeImplTaskRunnerProvider task_runner_provider; | 4361 FakeImplTaskRunnerProvider task_runner_provider; |
4341 TestTaskGraphRunner task_graph_runner; | 4362 TestTaskGraphRunner task_graph_runner; |
4342 FakeLayerTreeHostImpl host_impl(host()->GetSettings(), &task_runner_provider, | 4363 FakeLayerTreeHostImpl host_impl(host()->GetSettings(), &task_runner_provider, |
4343 &task_graph_runner); | 4364 &task_graph_runner); |
4344 host_impl.CreatePendingTree(); | 4365 host_impl.CreatePendingTree(); |
4345 std::unique_ptr<LayerImpl> root = | 4366 std::unique_ptr<LayerImpl> root = |
4346 LayerImpl::Create(host_impl.pending_tree(), 1); | 4367 LayerImpl::Create(host_impl.pending_tree(), 1); |
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5419 child2->SetBounds(bounds); | 5440 child2->SetBounds(bounds); |
5420 child2->SetDrawsContent(true); | 5441 child2->SetDrawsContent(true); |
5421 child2->test_properties()->sorting_context_id = 1; | 5442 child2->test_properties()->sorting_context_id = 1; |
5422 child3->SetBounds(bounds); | 5443 child3->SetBounds(bounds); |
5423 child3->SetDrawsContent(true); | 5444 child3->SetDrawsContent(true); |
5424 child3->test_properties()->sorting_context_id = 1; | 5445 child3->test_properties()->sorting_context_id = 1; |
5425 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); | 5446 ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root); |
5426 | 5447 |
5427 // Verify which render surfaces were created. | 5448 // Verify which render surfaces were created. |
5428 EXPECT_TRUE(GetRenderSurface(root)); | 5449 EXPECT_TRUE(GetRenderSurface(root)); |
5429 EXPECT_FALSE(GetRenderSurface(child1)); | 5450 EXPECT_EQ(GetRenderSurface(child1), GetRenderSurface(root)); |
5430 EXPECT_TRUE(GetRenderSurface(child2)); | 5451 EXPECT_NE(GetRenderSurface(child2), GetRenderSurface(root)); |
5431 EXPECT_FALSE(GetRenderSurface(child3)); | 5452 EXPECT_EQ(GetRenderSurface(child3), GetRenderSurface(child2)); |
5432 } | 5453 } |
5433 | 5454 |
5434 TEST_F(LayerTreeHostCommonTest, DoNotIncludeBackfaceInvisibleSurfaces) { | 5455 TEST_F(LayerTreeHostCommonTest, DoNotIncludeBackfaceInvisibleSurfaces) { |
5435 LayerImpl* root = root_layer_for_testing(); | 5456 LayerImpl* root = root_layer_for_testing(); |
5436 LayerImpl* back_facing = AddChild<LayerImpl>(root); | 5457 LayerImpl* back_facing = AddChild<LayerImpl>(root); |
5437 | 5458 |
5438 LayerImpl* render_surface1 = AddChild<LayerImpl>(back_facing); | 5459 LayerImpl* render_surface1 = AddChild<LayerImpl>(back_facing); |
5439 LayerImpl* child1 = AddChild<LayerImpl>(render_surface1); | 5460 LayerImpl* child1 = AddChild<LayerImpl>(render_surface1); |
5440 | 5461 |
5441 LayerImpl* flattener = AddChild<LayerImpl>(back_facing); | 5462 LayerImpl* flattener = AddChild<LayerImpl>(back_facing); |
(...skipping 2855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8297 grandchild->SetBounds(gfx::Size(50, 50)); | 8318 grandchild->SetBounds(gfx::Size(50, 50)); |
8298 grandchild->SetDrawsContent(true); | 8319 grandchild->SetDrawsContent(true); |
8299 | 8320 |
8300 SetElementIdsForTesting(); | 8321 SetElementIdsForTesting(); |
8301 AddOpacityTransitionToElementWithPlayer(child->element_id(), timeline_impl(), | 8322 AddOpacityTransitionToElementWithPlayer(child->element_id(), timeline_impl(), |
8302 10.0, 1.f, 0.2f, false); | 8323 10.0, 1.f, 0.2f, false); |
8303 ExecuteCalculateDrawProperties(root); | 8324 ExecuteCalculateDrawProperties(root); |
8304 | 8325 |
8305 EXPECT_EQ(1.f, child->Opacity()); | 8326 EXPECT_EQ(1.f, child->Opacity()); |
8306 EXPECT_TRUE(GetRenderSurface(root)); | 8327 EXPECT_TRUE(GetRenderSurface(root)); |
8307 EXPECT_TRUE(GetRenderSurface(child)); | 8328 EXPECT_NE(GetRenderSurface(child), GetRenderSurface(root)); |
8308 EXPECT_FALSE(GetRenderSurface(grandchild)); | 8329 EXPECT_EQ(GetRenderSurface(grandchild), GetRenderSurface(child)); |
8309 } | 8330 } |
8310 | 8331 |
8311 // Verify that having an animated filter (but no current filter, as these | 8332 // Verify that having an animated filter (but no current filter, as these |
8312 // are mutually exclusive) correctly creates a render surface. | 8333 // are mutually exclusive) correctly creates a render surface. |
8313 TEST_F(LayerTreeHostCommonTest, AnimatedFilterCreatesRenderSurface) { | 8334 TEST_F(LayerTreeHostCommonTest, AnimatedFilterCreatesRenderSurface) { |
8314 LayerImpl* root = root_layer_for_testing(); | 8335 LayerImpl* root = root_layer_for_testing(); |
8315 LayerImpl* child = AddChild<LayerImpl>(root); | 8336 LayerImpl* child = AddChild<LayerImpl>(root); |
8316 LayerImpl* grandchild = AddChild<LayerImpl>(child); | 8337 LayerImpl* grandchild = AddChild<LayerImpl>(child); |
8317 | 8338 |
8318 root->SetBounds(gfx::Size(50, 50)); | 8339 root->SetBounds(gfx::Size(50, 50)); |
8319 child->SetBounds(gfx::Size(50, 50)); | 8340 child->SetBounds(gfx::Size(50, 50)); |
8320 grandchild->SetBounds(gfx::Size(50, 50)); | 8341 grandchild->SetBounds(gfx::Size(50, 50)); |
8321 | 8342 |
8322 SetElementIdsForTesting(); | 8343 SetElementIdsForTesting(); |
8323 AddAnimatedFilterToElementWithPlayer(child->element_id(), timeline_impl(), | 8344 AddAnimatedFilterToElementWithPlayer(child->element_id(), timeline_impl(), |
8324 10.0, 0.1f, 0.2f); | 8345 10.0, 0.1f, 0.2f); |
8325 ExecuteCalculateDrawProperties(root); | 8346 ExecuteCalculateDrawProperties(root); |
8326 | 8347 |
8327 EXPECT_TRUE(GetRenderSurface(root)); | 8348 EXPECT_TRUE(GetRenderSurface(root)); |
8328 EXPECT_TRUE(GetRenderSurface(child)); | 8349 EXPECT_NE(GetRenderSurface(child), GetRenderSurface(root)); |
8329 EXPECT_FALSE(GetRenderSurface(grandchild)); | 8350 EXPECT_EQ(GetRenderSurface(grandchild), GetRenderSurface(child)); |
8330 | 8351 |
8331 EXPECT_TRUE(GetRenderSurface(root)->Filters().IsEmpty()); | 8352 EXPECT_TRUE(GetRenderSurface(root)->Filters().IsEmpty()); |
8332 EXPECT_TRUE(GetRenderSurface(child)->Filters().IsEmpty()); | 8353 EXPECT_TRUE(GetRenderSurface(child)->Filters().IsEmpty()); |
8333 | 8354 |
8334 EXPECT_FALSE(root->FilterIsAnimating()); | 8355 EXPECT_FALSE(root->FilterIsAnimating()); |
8335 EXPECT_TRUE(child->FilterIsAnimating()); | 8356 EXPECT_TRUE(child->FilterIsAnimating()); |
8336 EXPECT_FALSE(grandchild->FilterIsAnimating()); | 8357 EXPECT_FALSE(grandchild->FilterIsAnimating()); |
8337 } | 8358 } |
8338 | 8359 |
8339 // Verify that having a filter animation with a delayed start time creates a | 8360 // Verify that having a filter animation with a delayed start time creates a |
(...skipping 22 matching lines...) Expand all Loading... | |
8362 std::unique_ptr<Animation> animation = | 8383 std::unique_ptr<Animation> animation = |
8363 Animation::Create(std::move(curve), 0, 1, TargetProperty::FILTER); | 8384 Animation::Create(std::move(curve), 0, 1, TargetProperty::FILTER); |
8364 animation->set_fill_mode(Animation::FillMode::NONE); | 8385 animation->set_fill_mode(Animation::FillMode::NONE); |
8365 animation->set_time_offset(base::TimeDelta::FromMilliseconds(-1000)); | 8386 animation->set_time_offset(base::TimeDelta::FromMilliseconds(-1000)); |
8366 | 8387 |
8367 AddAnimationToElementWithPlayer(child->element_id(), timeline_impl(), | 8388 AddAnimationToElementWithPlayer(child->element_id(), timeline_impl(), |
8368 std::move(animation)); | 8389 std::move(animation)); |
8369 ExecuteCalculateDrawProperties(root); | 8390 ExecuteCalculateDrawProperties(root); |
8370 | 8391 |
8371 EXPECT_TRUE(GetRenderSurface(root)); | 8392 EXPECT_TRUE(GetRenderSurface(root)); |
8372 EXPECT_TRUE(GetRenderSurface(child)); | 8393 EXPECT_NE(GetRenderSurface(child), GetRenderSurface(root)); |
8373 EXPECT_FALSE(GetRenderSurface(grandchild)); | 8394 EXPECT_EQ(GetRenderSurface(grandchild), GetRenderSurface(child)); |
8374 | 8395 |
8375 EXPECT_TRUE(GetRenderSurface(root)->Filters().IsEmpty()); | 8396 EXPECT_TRUE(GetRenderSurface(root)->Filters().IsEmpty()); |
8376 EXPECT_TRUE(GetRenderSurface(child)->Filters().IsEmpty()); | 8397 EXPECT_TRUE(GetRenderSurface(child)->Filters().IsEmpty()); |
8377 | 8398 |
8378 EXPECT_FALSE(root->FilterIsAnimating()); | 8399 EXPECT_FALSE(root->FilterIsAnimating()); |
8379 EXPECT_FALSE(root->HasPotentiallyRunningFilterAnimation()); | 8400 EXPECT_FALSE(root->HasPotentiallyRunningFilterAnimation()); |
8380 EXPECT_FALSE(child->FilterIsAnimating()); | 8401 EXPECT_FALSE(child->FilterIsAnimating()); |
8381 EXPECT_TRUE(child->HasPotentiallyRunningFilterAnimation()); | 8402 EXPECT_TRUE(child->HasPotentiallyRunningFilterAnimation()); |
8382 EXPECT_FALSE(grandchild->FilterIsAnimating()); | 8403 EXPECT_FALSE(grandchild->FilterIsAnimating()); |
8383 EXPECT_FALSE(grandchild->HasPotentiallyRunningFilterAnimation()); | 8404 EXPECT_FALSE(grandchild->HasPotentiallyRunningFilterAnimation()); |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
9074 page_scale_layer, inner_viewport_scroll_layer, | 9095 page_scale_layer, inner_viewport_scroll_layer, |
9075 outer_viewport_scroll_layer); | 9096 outer_viewport_scroll_layer); |
9076 | 9097 |
9077 TransformTree& transform_tree = | 9098 TransformTree& transform_tree = |
9078 root->layer_tree_impl()->property_trees()->transform_tree; | 9099 root->layer_tree_impl()->property_trees()->transform_tree; |
9079 TransformNode* transform_node = | 9100 TransformNode* transform_node = |
9080 transform_tree.Node(significant_transform->transform_tree_index()); | 9101 transform_tree.Node(significant_transform->transform_tree_index()); |
9081 EXPECT_EQ(transform_node->owning_layer_id, significant_transform->id()); | 9102 EXPECT_EQ(transform_node->owning_layer_id, significant_transform->id()); |
9082 | 9103 |
9083 EXPECT_TRUE(GetRenderSurface(root)); | 9104 EXPECT_TRUE(GetRenderSurface(root)); |
9084 EXPECT_FALSE(GetRenderSurface(significant_transform)); | 9105 EXPECT_EQ(GetRenderSurface(significant_transform), GetRenderSurface(root)); |
9085 EXPECT_TRUE(GetRenderSurface(layer_clips_subtree)); | 9106 EXPECT_TRUE(GetRenderSurface(layer_clips_subtree)); |
9086 EXPECT_TRUE(GetRenderSurface(render_surface)); | 9107 EXPECT_NE(GetRenderSurface(render_surface), GetRenderSurface(root)); |
9087 EXPECT_FALSE(GetRenderSurface(test_layer)); | 9108 EXPECT_EQ(GetRenderSurface(test_layer), GetRenderSurface(render_surface)); |
9088 | 9109 |
9089 EXPECT_EQ(gfx::Rect(30, 20), test_layer->visible_layer_rect()); | 9110 EXPECT_EQ(gfx::Rect(30, 20), test_layer->visible_layer_rect()); |
9090 } | 9111 } |
9091 | 9112 |
9092 TEST_F(LayerTreeHostCommonTest, TransformOfParentClipNodeAncestorOfTarget) { | 9113 TEST_F(LayerTreeHostCommonTest, TransformOfParentClipNodeAncestorOfTarget) { |
9093 // Ensure that when parent clip node's transform is an ancestor of current | 9114 // Ensure that when parent clip node's transform is an ancestor of current |
9094 // clip node's target, clip is 'projected' from parent space to current | 9115 // clip node's target, clip is 'projected' from parent space to current |
9095 // target space and visible rects are calculated correctly. | 9116 // target space and visible rects are calculated correctly. |
9096 LayerImpl* root = root_layer_for_testing(); | 9117 LayerImpl* root = root_layer_for_testing(); |
9097 LayerImpl* clip_layer = AddChild<LayerImpl>(root); | 9118 LayerImpl* clip_layer = AddChild<LayerImpl>(root); |
(...skipping 995 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
10093 | 10114 |
10094 // Check child layer draw properties. | 10115 // Check child layer draw properties. |
10095 EXPECT_EQ(gfx::Rect(10, 10), child->visible_layer_rect()); | 10116 EXPECT_EQ(gfx::Rect(10, 10), child->visible_layer_rect()); |
10096 EXPECT_EQ(gfx::Transform(), child->DrawTransform()); | 10117 EXPECT_EQ(gfx::Transform(), child->DrawTransform()); |
10097 EXPECT_EQ(gfx::Rect(10, 10), child->clip_rect()); | 10118 EXPECT_EQ(gfx::Rect(10, 10), child->clip_rect()); |
10098 EXPECT_EQ(gfx::Rect(10, 10), child->drawable_content_rect()); | 10119 EXPECT_EQ(gfx::Rect(10, 10), child->drawable_content_rect()); |
10099 } | 10120 } |
10100 | 10121 |
10101 } // namespace | 10122 } // namespace |
10102 } // namespace cc | 10123 } // namespace cc |
OLD | NEW |