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

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

Issue 15579002: Implement transform/clip support for Android WebView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add tests Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include "cc/animation/layer_animation_controller.h" 7 #include "cc/animation/layer_animation_controller.h"
8 #include "cc/base/math_util.h" 8 #include "cc/base/math_util.h"
9 #include "cc/base/thread.h" 9 #include "cc/base/thread.h"
10 #include "cc/layers/content_layer.h" 10 #include "cc/layers/content_layer.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 gfx::Size device_viewport_size = 92 gfx::Size device_viewport_size =
93 gfx::Size(root_layer->bounds().width() * device_scale_factor, 93 gfx::Size(root_layer->bounds().width() * device_scale_factor,
94 root_layer->bounds().height() * device_scale_factor); 94 root_layer->bounds().height() * device_scale_factor);
95 95
96 // We are probably not testing what is intended if the root_layer bounds are 96 // We are probably not testing what is intended if the root_layer bounds are
97 // empty. 97 // empty.
98 DCHECK(!root_layer->bounds().IsEmpty()); 98 DCHECK(!root_layer->bounds().IsEmpty());
99 LayerTreeHostCommon::CalculateDrawProperties( 99 LayerTreeHostCommon::CalculateDrawProperties(
100 root_layer, 100 root_layer,
101 device_viewport_size, 101 device_viewport_size,
102 gfx::Transform(),
102 device_scale_factor, 103 device_scale_factor,
103 page_scale_factor, 104 page_scale_factor,
104 page_scale_application_layer, 105 page_scale_application_layer,
105 dummy_max_texture_size, 106 dummy_max_texture_size,
106 can_use_lcd_text, 107 can_use_lcd_text,
107 true, // can_adjust_raster_scale 108 true, // can_adjust_raster_scale
108 &dummy_render_surface_layer_list); 109 &dummy_render_surface_layer_list);
109 } 110 }
110 111
111 void ExecuteCalculateDrawProperties(LayerImpl* root_layer, 112 void ExecuteCalculateDrawProperties(LayerImpl* root_layer,
112 float device_scale_factor, 113 float device_scale_factor,
113 float page_scale_factor, 114 float page_scale_factor,
114 LayerImpl* page_scale_application_layer, 115 LayerImpl* page_scale_application_layer,
115 bool can_use_lcd_text) { 116 bool can_use_lcd_text) {
116 gfx::Transform identity_matrix; 117 gfx::Transform identity_matrix;
117 LayerImplList dummy_render_surface_layer_list; 118 LayerImplList dummy_render_surface_layer_list;
118 int dummy_max_texture_size = 512; 119 int dummy_max_texture_size = 512;
119 gfx::Size device_viewport_size = 120 gfx::Size device_viewport_size =
120 gfx::Size(root_layer->bounds().width() * device_scale_factor, 121 gfx::Size(root_layer->bounds().width() * device_scale_factor,
121 root_layer->bounds().height() * device_scale_factor); 122 root_layer->bounds().height() * device_scale_factor);
122 123
123 // We are probably not testing what is intended if the root_layer bounds are 124 // We are probably not testing what is intended if the root_layer bounds are
124 // empty. 125 // empty.
125 DCHECK(!root_layer->bounds().IsEmpty()); 126 DCHECK(!root_layer->bounds().IsEmpty());
126 LayerTreeHostCommon::CalculateDrawProperties( 127 LayerTreeHostCommon::CalculateDrawProperties(
127 root_layer, 128 root_layer,
128 device_viewport_size, 129 device_viewport_size,
130 gfx::Transform(),
129 device_scale_factor, 131 device_scale_factor,
130 page_scale_factor, 132 page_scale_factor,
131 page_scale_application_layer, 133 page_scale_application_layer,
132 dummy_max_texture_size, 134 dummy_max_texture_size,
133 can_use_lcd_text, 135 can_use_lcd_text,
134 true, // can_adjust_raster_scale 136 true, // can_adjust_raster_scale
135 &dummy_render_surface_layer_list); 137 &dummy_render_surface_layer_list);
136 } 138 }
137 139
138 template <class LayerType> 140 template <class LayerType>
(...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1477 1479
1478 ASSERT_TRUE(child->render_surface()); 1480 ASSERT_TRUE(child->render_surface());
1479 // This is the real test, the rest are sanity checks. 1481 // This is the real test, the rest are sanity checks.
1480 EXPECT_TRANSFORMATION_MATRIX_EQ(identity_matrix, 1482 EXPECT_TRANSFORMATION_MATRIX_EQ(identity_matrix,
1481 child->render_surface()->draw_transform()); 1483 child->render_surface()->draw_transform());
1482 EXPECT_TRANSFORMATION_MATRIX_EQ(identity_matrix, child->draw_transform()); 1484 EXPECT_TRANSFORMATION_MATRIX_EQ(identity_matrix, child->draw_transform());
1483 EXPECT_TRANSFORMATION_MATRIX_EQ(identity_matrix, 1485 EXPECT_TRANSFORMATION_MATRIX_EQ(identity_matrix,
1484 grand_child->draw_transform()); 1486 grand_child->draw_transform());
1485 } 1487 }
1486 1488
1489 TEST(LayerTreeHostCommonTest, TransformAboveRootLayer) {
1490 // Transformations applied at the root of the tree should be forwarded
1491 // to child layers instead of applied to the root RenderSurface.
1492 const gfx::Transform identity_matrix;
1493 scoped_refptr<Layer> root = Layer::Create();
1494 scoped_refptr<Layer> child = Layer::Create();
1495
1496 root->AddChild(child);
1497
1498 SetLayerPropertiesForTesting(root.get(),
1499 identity_matrix,
1500 identity_matrix,
1501 gfx::PointF(),
1502 gfx::PointF(),
1503 gfx::Size(20, 20),
1504 false);
1505 SetLayerPropertiesForTesting(child.get(),
1506 identity_matrix,
1507 identity_matrix,
1508 gfx::PointF(),
1509 gfx::PointF(),
1510 gfx::Size(20, 20),
1511 false);
1512
1513 LayerList render_surface_layer_list;
1514 int dummy_max_texture_size = 512;
1515
1516 gfx::Transform translate;
1517 translate.Translate(50, 50);
1518 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1519 root->bounds(),
1520 translate,
1521 1.f,
1522 1.f,
1523 NULL,
1524 dummy_max_texture_size,
1525 false,
1526 true, // can_adjust_raster_scale
1527 &render_surface_layer_list);
1528 EXPECT_EQ(translate, child->draw_properties().target_space_transform);
1529 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1530
1531 gfx::Transform scale;
1532 scale.Scale(2, 2);
1533 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1534 root->bounds(),
1535 scale,
1536 1.f,
1537 1.f,
1538 NULL,
1539 dummy_max_texture_size,
1540 false,
1541 true, // can_adjust_raster_scale
1542 &render_surface_layer_list);
1543 EXPECT_EQ(scale, child->draw_properties().target_space_transform);
1544 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1545
1546 gfx::Transform rotate;
1547 rotate.Rotate(2);
1548 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1549 root->bounds(),
1550 rotate,
1551 1.f,
1552 1.f,
1553 NULL,
1554 dummy_max_texture_size,
1555 false,
1556 true, // can_adjust_raster_scale
1557 &render_surface_layer_list);
1558 EXPECT_EQ(rotate, child->draw_properties().target_space_transform);
1559 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1560
1561 gfx::Transform composite;
1562 composite.ConcatTransform(translate);
1563 composite.ConcatTransform(scale);
1564 composite.ConcatTransform(rotate);
1565 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1566 root->bounds(),
1567 composite,
1568 1.f,
1569 1.f,
1570 NULL,
1571 dummy_max_texture_size,
1572 false,
1573 true, // can_adjust_raster_scale
1574 &render_surface_layer_list);
1575 EXPECT_EQ(composite, child->draw_properties().target_space_transform);
1576 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1577 }
1578
1487 TEST(LayerTreeHostCommonTest, 1579 TEST(LayerTreeHostCommonTest,
1488 RenderSurfaceListForRenderSurfaceWithClippedLayer) { 1580 RenderSurfaceListForRenderSurfaceWithClippedLayer) {
1489 scoped_refptr<Layer> parent = Layer::Create(); 1581 scoped_refptr<Layer> parent = Layer::Create();
1490 scoped_refptr<Layer> render_surface1 = Layer::Create(); 1582 scoped_refptr<Layer> render_surface1 = Layer::Create();
1491 scoped_refptr<LayerWithForcedDrawsContent> child = 1583 scoped_refptr<LayerWithForcedDrawsContent> child =
1492 make_scoped_refptr(new LayerWithForcedDrawsContent()); 1584 make_scoped_refptr(new LayerWithForcedDrawsContent());
1493 1585
1494 const gfx::Transform identity_matrix; 1586 const gfx::Transform identity_matrix;
1495 SetLayerPropertiesForTesting(parent.get(), 1587 SetLayerPropertiesForTesting(parent.get(),
1496 identity_matrix, 1588 identity_matrix,
(...skipping 19 matching lines...) Expand all
1516 1608
1517 parent->AddChild(render_surface1); 1609 parent->AddChild(render_surface1);
1518 parent->SetMasksToBounds(true); 1610 parent->SetMasksToBounds(true);
1519 render_surface1->AddChild(child); 1611 render_surface1->AddChild(child);
1520 render_surface1->SetForceRenderSurface(true); 1612 render_surface1->SetForceRenderSurface(true);
1521 1613
1522 LayerList render_surface_layer_list; 1614 LayerList render_surface_layer_list;
1523 int dummy_max_texture_size = 512; 1615 int dummy_max_texture_size = 512;
1524 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1616 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1525 parent->bounds(), 1617 parent->bounds(),
1618 gfx::Transform(),
1526 1.f, 1619 1.f,
1527 1.f, 1620 1.f,
1528 NULL, 1621 NULL,
1529 dummy_max_texture_size, 1622 dummy_max_texture_size,
1530 false, 1623 false,
1531 true, // can_adjust_raster_scale 1624 true, // can_adjust_raster_scale
1532 &render_surface_layer_list); 1625 &render_surface_layer_list);
1533 1626
1534 // The child layer's content is entirely outside the parent's clip rect, so 1627 // The child layer's content is entirely outside the parent's clip rect, so
1535 // the intermediate render surface should not be listed here, even if it was 1628 // the intermediate render surface should not be listed here, even if it was
(...skipping 29 matching lines...) Expand all
1565 1658
1566 parent->AddChild(render_surface1); 1659 parent->AddChild(render_surface1);
1567 render_surface1->AddChild(child); 1660 render_surface1->AddChild(child);
1568 render_surface1->SetForceRenderSurface(true); 1661 render_surface1->SetForceRenderSurface(true);
1569 render_surface1->SetOpacity(0.f); 1662 render_surface1->SetOpacity(0.f);
1570 1663
1571 LayerList render_surface_layer_list; 1664 LayerList render_surface_layer_list;
1572 int dummy_max_texture_size = 512; 1665 int dummy_max_texture_size = 512;
1573 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1666 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1574 parent->bounds(), 1667 parent->bounds(),
1668 gfx::Transform(),
1575 1.f, 1669 1.f,
1576 1.f, 1670 1.f,
1577 NULL, 1671 NULL,
1578 dummy_max_texture_size, 1672 dummy_max_texture_size,
1579 false, 1673 false,
1580 true, // can_adjust_raster_scale 1674 true, // can_adjust_raster_scale
1581 &render_surface_layer_list); 1675 &render_surface_layer_list);
1582 1676
1583 // Since the layer is transparent, render_surface1->render_surface() should 1677 // Since the layer is transparent, render_surface1->render_surface() should
1584 // not have gotten added anywhere. Also, the drawable content rect should not 1678 // not have gotten added anywhere. Also, the drawable content rect should not
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 render_surface1->AddChild(child); 1718 render_surface1->AddChild(child);
1625 1719
1626 // Sanity check before the actual test 1720 // Sanity check before the actual test
1627 EXPECT_FALSE(parent->render_surface()); 1721 EXPECT_FALSE(parent->render_surface());
1628 EXPECT_FALSE(render_surface1->render_surface()); 1722 EXPECT_FALSE(render_surface1->render_surface());
1629 1723
1630 LayerList render_surface_layer_list; 1724 LayerList render_surface_layer_list;
1631 int dummy_max_texture_size = 512; 1725 int dummy_max_texture_size = 512;
1632 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1726 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1633 parent->bounds(), 1727 parent->bounds(),
1728 gfx::Transform(),
1634 1.f, 1729 1.f,
1635 1.f, 1730 1.f,
1636 NULL, 1731 NULL,
1637 dummy_max_texture_size, 1732 dummy_max_texture_size,
1638 false, 1733 false,
1639 true, // can_adjust_raster_scale 1734 true, // can_adjust_raster_scale
1640 &render_surface_layer_list); 1735 &render_surface_layer_list);
1641 1736
1642 // The root layer always creates a render surface 1737 // The root layer always creates a render surface
1643 EXPECT_TRUE(parent->render_surface()); 1738 EXPECT_TRUE(parent->render_surface());
1644 EXPECT_TRUE(render_surface1->render_surface()); 1739 EXPECT_TRUE(render_surface1->render_surface());
1645 EXPECT_EQ(2U, render_surface_layer_list.size()); 1740 EXPECT_EQ(2U, render_surface_layer_list.size());
1646 1741
1647 render_surface_layer_list.clear(); 1742 render_surface_layer_list.clear();
1648 render_surface1->SetForceRenderSurface(false); 1743 render_surface1->SetForceRenderSurface(false);
1649 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1744 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1650 parent->bounds(), 1745 parent->bounds(),
1746 gfx::Transform(),
1651 1.f, 1747 1.f,
1652 1.f, 1748 1.f,
1653 NULL, 1749 NULL,
1654 dummy_max_texture_size, 1750 dummy_max_texture_size,
1655 false, 1751 false,
1656 true, // can_adjust_raster_scale 1752 true, // can_adjust_raster_scale
1657 &render_surface_layer_list); 1753 &render_surface_layer_list);
1658 EXPECT_TRUE(parent->render_surface()); 1754 EXPECT_TRUE(parent->render_surface());
1659 EXPECT_FALSE(render_surface1->render_surface()); 1755 EXPECT_FALSE(render_surface1->render_surface());
1660 EXPECT_EQ(1U, render_surface_layer_list.size()); 1756 EXPECT_EQ(1U, render_surface_layer_list.size());
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1742 child->SetMasksToBounds(true); 1838 child->SetMasksToBounds(true);
1743 child->SetOpacity(0.4f); 1839 child->SetOpacity(0.4f);
1744 child->SetForceRenderSurface(true); 1840 child->SetForceRenderSurface(true);
1745 grand_child->SetOpacity(0.5f); 1841 grand_child->SetOpacity(0.5f);
1746 great_grand_child->SetOpacity(0.4f); 1842 great_grand_child->SetOpacity(0.4f);
1747 1843
1748 LayerList render_surface_layer_list; 1844 LayerList render_surface_layer_list;
1749 int dummy_max_texture_size = 512; 1845 int dummy_max_texture_size = 512;
1750 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1846 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1751 parent->bounds(), 1847 parent->bounds(),
1848 gfx::Transform(),
1752 1.f, 1849 1.f,
1753 1.f, 1850 1.f,
1754 NULL, 1851 NULL,
1755 dummy_max_texture_size, 1852 dummy_max_texture_size,
1756 false, 1853 false,
1757 true, // can_adjust_raster_scale 1854 true, // can_adjust_raster_scale
1758 &render_surface_layer_list); 1855 &render_surface_layer_list);
1759 1856
1760 ASSERT_EQ(2U, render_surface_layer_list.size()); 1857 ASSERT_EQ(2U, render_surface_layer_list.size());
1761 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id()); 1858 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id());
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1823 parent->SetMasksToBounds(true); 1920 parent->SetMasksToBounds(true);
1824 child->SetOpacity(0.4f); 1921 child->SetOpacity(0.4f);
1825 child->SetForceRenderSurface(true); 1922 child->SetForceRenderSurface(true);
1826 grand_child->SetOpacity(0.4f); 1923 grand_child->SetOpacity(0.4f);
1827 grand_child->SetForceRenderSurface(true); 1924 grand_child->SetForceRenderSurface(true);
1828 1925
1829 LayerList render_surface_layer_list; 1926 LayerList render_surface_layer_list;
1830 int dummy_max_texture_size = 512; 1927 int dummy_max_texture_size = 512;
1831 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1928 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1832 parent->bounds(), 1929 parent->bounds(),
1930 gfx::Transform(),
1833 1.f, 1931 1.f,
1834 1.f, 1932 1.f,
1835 NULL, 1933 NULL,
1836 dummy_max_texture_size, 1934 dummy_max_texture_size,
1837 false, 1935 false,
1838 true, // can_adjust_raster_scale 1936 true, // can_adjust_raster_scale
1839 &render_surface_layer_list); 1937 &render_surface_layer_list);
1840 1938
1841 // Without an animation, we should cull child and grand_child from the 1939 // Without an animation, we should cull child and grand_child from the
1842 // render_surface_layer_list. 1940 // render_surface_layer_list.
1843 ASSERT_EQ(1U, render_surface_layer_list.size()); 1941 ASSERT_EQ(1U, render_surface_layer_list.size());
1844 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id()); 1942 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id());
1845 1943
1846 // Now put an animating transform on child. 1944 // Now put an animating transform on child.
1847 AddAnimatedTransformToController( 1945 AddAnimatedTransformToController(
1848 child->layer_animation_controller(), 10.0, 30, 0); 1946 child->layer_animation_controller(), 10.0, 30, 0);
1849 1947
1850 parent->ClearRenderSurface(); 1948 parent->ClearRenderSurface();
1851 child->ClearRenderSurface(); 1949 child->ClearRenderSurface();
1852 grand_child->ClearRenderSurface(); 1950 grand_child->ClearRenderSurface();
1853 render_surface_layer_list.clear(); 1951 render_surface_layer_list.clear();
1854 1952
1855 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1953 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1856 parent->bounds(), 1954 parent->bounds(),
1955 gfx::Transform(),
1857 1.f, 1956 1.f,
1858 1.f, 1957 1.f,
1859 NULL, 1958 NULL,
1860 dummy_max_texture_size, 1959 dummy_max_texture_size,
1861 false, 1960 false,
1862 true, // can_adjust_raster_scale 1961 true, // can_adjust_raster_scale
1863 &render_surface_layer_list); 1962 &render_surface_layer_list);
1864 1963
1865 // With an animating transform, we should keep child and grand_child in the 1964 // With an animating transform, we should keep child and grand_child in the
1866 // render_surface_layer_list. 1965 // render_surface_layer_list.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1951 gfx::PointF(), 2050 gfx::PointF(),
1952 gfx::PointF(), 2051 gfx::PointF(),
1953 gfx::Size(100, 100), 2052 gfx::Size(100, 100),
1954 false); 2053 false);
1955 2054
1956 // Case 1: nothing is clipped except the root render surface. 2055 // Case 1: nothing is clipped except the root render surface.
1957 LayerList render_surface_layer_list; 2056 LayerList render_surface_layer_list;
1958 int dummy_max_texture_size = 512; 2057 int dummy_max_texture_size = 512;
1959 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 2058 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1960 parent->bounds(), 2059 parent->bounds(),
2060 gfx::Transform(),
1961 1.f, 2061 1.f,
1962 1.f, 2062 1.f,
1963 NULL, 2063 NULL,
1964 dummy_max_texture_size, 2064 dummy_max_texture_size,
1965 false, 2065 false,
1966 true, // can_adjust_raster_scale 2066 true, // can_adjust_raster_scale
1967 &render_surface_layer_list); 2067 &render_surface_layer_list);
1968 2068
1969 ASSERT_TRUE(root->render_surface()); 2069 ASSERT_TRUE(root->render_surface());
1970 ASSERT_TRUE(child2->render_surface()); 2070 ASSERT_TRUE(child2->render_surface());
1971 2071
1972 EXPECT_FALSE(root->is_clipped()); 2072 EXPECT_FALSE(root->is_clipped());
1973 EXPECT_TRUE(root->render_surface()->is_clipped()); 2073 EXPECT_TRUE(root->render_surface()->is_clipped());
1974 EXPECT_FALSE(parent->is_clipped()); 2074 EXPECT_FALSE(parent->is_clipped());
1975 EXPECT_FALSE(child1->is_clipped()); 2075 EXPECT_FALSE(child1->is_clipped());
1976 EXPECT_FALSE(child2->is_clipped()); 2076 EXPECT_FALSE(child2->is_clipped());
1977 EXPECT_FALSE(child2->render_surface()->is_clipped()); 2077 EXPECT_FALSE(child2->render_surface()->is_clipped());
1978 EXPECT_FALSE(grand_child->is_clipped()); 2078 EXPECT_FALSE(grand_child->is_clipped());
1979 EXPECT_FALSE(leaf_node1->is_clipped()); 2079 EXPECT_FALSE(leaf_node1->is_clipped());
1980 EXPECT_FALSE(leaf_node2->is_clipped()); 2080 EXPECT_FALSE(leaf_node2->is_clipped());
1981 2081
1982 // Case 2: parent masksToBounds, so the parent, child1, and child2's 2082 // Case 2: parent masksToBounds, so the parent, child1, and child2's
1983 // surface are clipped. But layers that contribute to child2's surface are 2083 // surface are clipped. But layers that contribute to child2's surface are
1984 // not clipped explicitly because child2's surface already accounts for 2084 // not clipped explicitly because child2's surface already accounts for
1985 // that clip. 2085 // that clip.
1986 render_surface_layer_list.clear(); 2086 render_surface_layer_list.clear();
1987 parent->SetMasksToBounds(true); 2087 parent->SetMasksToBounds(true);
1988 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 2088 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1989 parent->bounds(), 2089 parent->bounds(),
2090 gfx::Transform(),
1990 1.f, 2091 1.f,
1991 1.f, 2092 1.f,
1992 NULL, 2093 NULL,
1993 dummy_max_texture_size, 2094 dummy_max_texture_size,
1994 false, 2095 false,
1995 true, // can_adjust_raster_scale 2096 true, // can_adjust_raster_scale
1996 &render_surface_layer_list); 2097 &render_surface_layer_list);
1997 2098
1998 ASSERT_TRUE(root->render_surface()); 2099 ASSERT_TRUE(root->render_surface());
1999 ASSERT_TRUE(child2->render_surface()); 2100 ASSERT_TRUE(child2->render_surface());
2000 2101
2001 EXPECT_FALSE(root->is_clipped()); 2102 EXPECT_FALSE(root->is_clipped());
2002 EXPECT_TRUE(root->render_surface()->is_clipped()); 2103 EXPECT_TRUE(root->render_surface()->is_clipped());
2003 EXPECT_TRUE(parent->is_clipped()); 2104 EXPECT_TRUE(parent->is_clipped());
2004 EXPECT_TRUE(child1->is_clipped()); 2105 EXPECT_TRUE(child1->is_clipped());
2005 EXPECT_FALSE(child2->is_clipped()); 2106 EXPECT_FALSE(child2->is_clipped());
2006 EXPECT_TRUE(child2->render_surface()->is_clipped()); 2107 EXPECT_TRUE(child2->render_surface()->is_clipped());
2007 EXPECT_TRUE(grand_child->is_clipped()); 2108 EXPECT_TRUE(grand_child->is_clipped());
2008 EXPECT_TRUE(leaf_node1->is_clipped()); 2109 EXPECT_TRUE(leaf_node1->is_clipped());
2009 EXPECT_FALSE(leaf_node2->is_clipped()); 2110 EXPECT_FALSE(leaf_node2->is_clipped());
2010 2111
2011 // Case 3: child2 masksToBounds. The layer and subtree are clipped, and 2112 // Case 3: child2 masksToBounds. The layer and subtree are clipped, and
2012 // child2's render surface is not clipped. 2113 // child2's render surface is not clipped.
2013 render_surface_layer_list.clear(); 2114 render_surface_layer_list.clear();
2014 parent->SetMasksToBounds(false); 2115 parent->SetMasksToBounds(false);
2015 child2->SetMasksToBounds(true); 2116 child2->SetMasksToBounds(true);
2016 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 2117 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
2017 parent->bounds(), 2118 parent->bounds(),
2119 gfx::Transform(),
2018 1.f, 2120 1.f,
2019 1.f, 2121 1.f,
2020 NULL, 2122 NULL,
2021 dummy_max_texture_size, 2123 dummy_max_texture_size,
2022 false, 2124 false,
2023 true, // can_adjust_raster_scale 2125 true, // can_adjust_raster_scale
2024 &render_surface_layer_list); 2126 &render_surface_layer_list);
2025 2127
2026 ASSERT_TRUE(root->render_surface()); 2128 ASSERT_TRUE(root->render_surface());
2027 ASSERT_TRUE(child2->render_surface()); 2129 ASSERT_TRUE(child2->render_surface());
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
2116 child->SetOpacity(0.4f); 2218 child->SetOpacity(0.4f);
2117 grand_child1->SetOpacity(0.5f); 2219 grand_child1->SetOpacity(0.5f);
2118 grand_child2->SetOpacity(0.5f); 2220 grand_child2->SetOpacity(0.5f);
2119 grand_child3->SetOpacity(0.5f); 2221 grand_child3->SetOpacity(0.5f);
2120 grand_child4->SetOpacity(0.5f); 2222 grand_child4->SetOpacity(0.5f);
2121 2223
2122 LayerList render_surface_layer_list; 2224 LayerList render_surface_layer_list;
2123 int dummy_max_texture_size = 512; 2225 int dummy_max_texture_size = 512;
2124 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 2226 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
2125 parent->bounds(), 2227 parent->bounds(),
2228 gfx::Transform(),
2126 1.f, 2229 1.f,
2127 1.f, 2230 1.f,
2128 NULL, 2231 NULL,
2129 dummy_max_texture_size, 2232 dummy_max_texture_size,
2130 false, 2233 false,
2131 true, // can_adjust_raster_scale 2234 true, // can_adjust_raster_scale
2132 &render_surface_layer_list); 2235 &render_surface_layer_list);
2133 2236
2134 EXPECT_RECT_EQ(gfx::Rect(5, 5, 10, 10), 2237 EXPECT_RECT_EQ(gfx::Rect(5, 5, 10, 10),
2135 grand_child1->drawable_content_rect()); 2238 grand_child1->drawable_content_rect());
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
2261 grand_child2->SetForceRenderSurface(true); 2364 grand_child2->SetForceRenderSurface(true);
2262 grand_child3->SetOpacity(0.5f); 2365 grand_child3->SetOpacity(0.5f);
2263 grand_child3->SetForceRenderSurface(true); 2366 grand_child3->SetForceRenderSurface(true);
2264 grand_child4->SetOpacity(0.5f); 2367 grand_child4->SetOpacity(0.5f);
2265 grand_child4->SetForceRenderSurface(true); 2368 grand_child4->SetForceRenderSurface(true);
2266 2369
2267 LayerList render_surface_layer_list; 2370 LayerList render_surface_layer_list;
2268 int dummy_max_texture_size = 512; 2371 int dummy_max_texture_size = 512;
2269 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 2372 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
2270 parent->bounds(), 2373 parent->bounds(),
2374 gfx::Transform(),
2271 1.f, 2375 1.f,
2272 1.f, 2376 1.f,
2273 NULL, 2377 NULL,
2274 dummy_max_texture_size, 2378 dummy_max_texture_size,
2275 false, 2379 false,
2276 true, // can_adjust_raster_scale 2380 true, // can_adjust_raster_scale
2277 &render_surface_layer_list); 2381 &render_surface_layer_list);
2278 2382
2279 ASSERT_TRUE(grand_child1->render_surface()); 2383 ASSERT_TRUE(grand_child1->render_surface());
2280 ASSERT_TRUE(grand_child2->render_surface()); 2384 ASSERT_TRUE(grand_child2->render_surface());
(...skipping 1310 matching lines...) Expand 10 before | Expand all | Expand 10 after
3591 identity_matrix, 3695 identity_matrix,
3592 gfx::PointF(), 3696 gfx::PointF(),
3593 gfx::PointF(), 3697 gfx::PointF(),
3594 gfx::Size(100, 100), 3698 gfx::Size(100, 100),
3595 false); 3699 false);
3596 3700
3597 LayerList render_surface_layer_list; 3701 LayerList render_surface_layer_list;
3598 int dummy_max_texture_size = 512; 3702 int dummy_max_texture_size = 512;
3599 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 3703 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
3600 parent->bounds(), 3704 parent->bounds(),
3705 gfx::Transform(),
3601 1.f, 3706 1.f,
3602 1.f, 3707 1.f,
3603 NULL, 3708 NULL,
3604 dummy_max_texture_size, 3709 dummy_max_texture_size,
3605 false, 3710 false,
3606 true, // can_adjust_raster_scale 3711 true, // can_adjust_raster_scale
3607 &render_surface_layer_list); 3712 &render_surface_layer_list);
3608 3713
3609 // Verify which render surfaces were created. 3714 // Verify which render surfaces were created.
3610 EXPECT_FALSE(front_facing_child->render_surface()); 3715 EXPECT_FALSE(front_facing_child->render_surface());
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
3785 identity_matrix, 3890 identity_matrix,
3786 gfx::PointF(), 3891 gfx::PointF(),
3787 gfx::PointF(), 3892 gfx::PointF(),
3788 gfx::Size(100, 100), 3893 gfx::Size(100, 100),
3789 false); 3894 false);
3790 3895
3791 LayerList render_surface_layer_list; 3896 LayerList render_surface_layer_list;
3792 int dummy_max_texture_size = 512; 3897 int dummy_max_texture_size = 512;
3793 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 3898 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
3794 parent->bounds(), 3899 parent->bounds(),
3900 gfx::Transform(),
3795 1.f, 3901 1.f,
3796 1.f, 3902 1.f,
3797 NULL, 3903 NULL,
3798 dummy_max_texture_size, 3904 dummy_max_texture_size,
3799 false, 3905 false,
3800 true, // can_adjust_raster_scale 3906 true, // can_adjust_raster_scale
3801 &render_surface_layer_list); 3907 &render_surface_layer_list);
3802 3908
3803 // Verify which render surfaces were created. 3909 // Verify which render surfaces were created.
3804 EXPECT_FALSE(front_facing_child->render_surface()); 3910 EXPECT_FALSE(front_facing_child->render_surface());
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
3925 identity_matrix, 4031 identity_matrix,
3926 gfx::PointF(), 4032 gfx::PointF(),
3927 gfx::PointF(), 4033 gfx::PointF(),
3928 gfx::Size(100, 100), 4034 gfx::Size(100, 100),
3929 false); 4035 false);
3930 4036
3931 LayerList render_surface_layer_list; 4037 LayerList render_surface_layer_list;
3932 int dummy_max_texture_size = 512; 4038 int dummy_max_texture_size = 512;
3933 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 4039 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
3934 parent->bounds(), 4040 parent->bounds(),
4041 gfx::Transform(),
3935 1.f, 4042 1.f,
3936 1.f, 4043 1.f,
3937 NULL, 4044 NULL,
3938 dummy_max_texture_size, 4045 dummy_max_texture_size,
3939 false, 4046 false,
3940 true, // can_adjust_raster_scale 4047 true, // can_adjust_raster_scale
3941 &render_surface_layer_list); 4048 &render_surface_layer_list);
3942 4049
3943 EXPECT_FALSE(child->render_surface()); 4050 EXPECT_FALSE(child->render_surface());
3944 EXPECT_TRUE(animating_surface->render_surface()); 4051 EXPECT_TRUE(animating_surface->render_surface());
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
4053 identity_matrix, 4160 identity_matrix,
4054 gfx::PointF(), 4161 gfx::PointF(),
4055 gfx::PointF(), 4162 gfx::PointF(),
4056 gfx::Size(100, 100), 4163 gfx::Size(100, 100),
4057 false); 4164 false);
4058 4165
4059 LayerList render_surface_layer_list; 4166 LayerList render_surface_layer_list;
4060 int dummy_max_texture_size = 512; 4167 int dummy_max_texture_size = 512;
4061 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 4168 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
4062 parent->bounds(), 4169 parent->bounds(),
4170 gfx::Transform(),
4063 1.f, 4171 1.f,
4064 1.f, 4172 1.f,
4065 NULL, 4173 NULL,
4066 dummy_max_texture_size, 4174 dummy_max_texture_size,
4067 false, 4175 false,
4068 true, // can_adjust_raster_scale 4176 true, // can_adjust_raster_scale
4069 &render_surface_layer_list); 4177 &render_surface_layer_list);
4070 4178
4071 // Verify which render surfaces were created. 4179 // Verify which render surfaces were created.
4072 EXPECT_TRUE(front_facing_surface->render_surface()); 4180 EXPECT_TRUE(front_facing_surface->render_surface());
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
4131 anchor, 4239 anchor,
4132 position, 4240 position,
4133 bounds, 4241 bounds,
4134 false); 4242 false);
4135 root->SetDrawsContent(true); 4243 root->SetDrawsContent(true);
4136 4244
4137 LayerImplList render_surface_layer_list; 4245 LayerImplList render_surface_layer_list;
4138 int dummy_max_texture_size = 512; 4246 int dummy_max_texture_size = 512;
4139 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4247 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4140 root->bounds(), 4248 root->bounds(),
4249 gfx::Transform(),
4141 1.f, 4250 1.f,
4142 1.f, 4251 1.f,
4143 NULL, 4252 NULL,
4144 dummy_max_texture_size, 4253 dummy_max_texture_size,
4145 false, 4254 false,
4146 true, // can_adjust_raster_scale 4255 true, // can_adjust_raster_scale
4147 &render_surface_layer_list); 4256 &render_surface_layer_list);
4148 4257
4149 // Sanity check the scenario we just created. 4258 // Sanity check the scenario we just created.
4150 ASSERT_EQ(1u, render_surface_layer_list.size()); 4259 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
4207 false); 4316 false);
4208 hud->SetDrawsContent(true); 4317 hud->SetDrawsContent(true);
4209 4318
4210 host_impl.active_tree()->set_hud_layer(hud.get()); 4319 host_impl.active_tree()->set_hud_layer(hud.get());
4211 root->AddChild(hud.PassAs<LayerImpl>()); 4320 root->AddChild(hud.PassAs<LayerImpl>());
4212 4321
4213 LayerImplList render_surface_layer_list; 4322 LayerImplList render_surface_layer_list;
4214 int dummy_max_texture_size = 512; 4323 int dummy_max_texture_size = 512;
4215 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4324 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4216 hud_bounds, 4325 hud_bounds,
4326 gfx::Transform(),
4217 1.f, 4327 1.f,
4218 1.f, 4328 1.f,
4219 NULL, 4329 NULL,
4220 dummy_max_texture_size, 4330 dummy_max_texture_size,
4221 false, 4331 false,
4222 true, // can_adjust_raster_scale 4332 true, // can_adjust_raster_scale
4223 &render_surface_layer_list); 4333 &render_surface_layer_list);
4224 4334
4225 // Sanity check the scenario we just created. 4335 // Sanity check the scenario we just created.
4226 ASSERT_EQ(1u, render_surface_layer_list.size()); 4336 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
4275 anchor, 4385 anchor,
4276 position, 4386 position,
4277 bounds, 4387 bounds,
4278 false); 4388 false);
4279 root->SetDrawsContent(true); 4389 root->SetDrawsContent(true);
4280 4390
4281 LayerImplList render_surface_layer_list; 4391 LayerImplList render_surface_layer_list;
4282 int dummy_max_texture_size = 512; 4392 int dummy_max_texture_size = 512;
4283 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4393 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4284 root->bounds(), 4394 root->bounds(),
4395 gfx::Transform(),
4285 1.f, 4396 1.f,
4286 1.f, 4397 1.f,
4287 NULL, 4398 NULL,
4288 dummy_max_texture_size, 4399 dummy_max_texture_size,
4289 false, 4400 false,
4290 true, // can_adjust_raster_scale 4401 true, // can_adjust_raster_scale
4291 &render_surface_layer_list); 4402 &render_surface_layer_list);
4292 4403
4293 // Sanity check the scenario we just created. 4404 // Sanity check the scenario we just created.
4294 ASSERT_EQ(1u, render_surface_layer_list.size()); 4405 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
4352 anchor, 4463 anchor,
4353 position, 4464 position,
4354 bounds, 4465 bounds,
4355 false); 4466 false);
4356 root->SetDrawsContent(true); 4467 root->SetDrawsContent(true);
4357 4468
4358 LayerImplList render_surface_layer_list; 4469 LayerImplList render_surface_layer_list;
4359 int dummy_max_texture_size = 512; 4470 int dummy_max_texture_size = 512;
4360 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4471 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4361 root->bounds(), 4472 root->bounds(),
4473 gfx::Transform(),
4362 1.f, 4474 1.f,
4363 1.f, 4475 1.f,
4364 NULL, 4476 NULL,
4365 dummy_max_texture_size, 4477 dummy_max_texture_size,
4366 false, 4478 false,
4367 true, // can_adjust_raster_scale 4479 true, // can_adjust_raster_scale
4368 &render_surface_layer_list); 4480 &render_surface_layer_list);
4369 4481
4370 // Sanity check the scenario we just created. 4482 // Sanity check the scenario we just created.
4371 ASSERT_EQ(1u, render_surface_layer_list.size()); 4483 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
4418 anchor, 4530 anchor,
4419 position, 4531 position,
4420 bounds, 4532 bounds,
4421 false); 4533 false);
4422 root->SetDrawsContent(true); 4534 root->SetDrawsContent(true);
4423 4535
4424 LayerImplList render_surface_layer_list; 4536 LayerImplList render_surface_layer_list;
4425 int dummy_max_texture_size = 512; 4537 int dummy_max_texture_size = 512;
4426 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4538 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4427 root->bounds(), 4539 root->bounds(),
4540 gfx::Transform(),
4428 1.f, 4541 1.f,
4429 1.f, 4542 1.f,
4430 NULL, 4543 NULL,
4431 dummy_max_texture_size, 4544 dummy_max_texture_size,
4432 false, 4545 false,
4433 true, // can_adjust_raster_scale 4546 true, // can_adjust_raster_scale
4434 &render_surface_layer_list); 4547 &render_surface_layer_list);
4435 4548
4436 // Sanity check the scenario we just created. 4549 // Sanity check the scenario we just created.
4437 ASSERT_EQ(1u, render_surface_layer_list.size()); 4550 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
4497 anchor, 4610 anchor,
4498 position, 4611 position,
4499 bounds, 4612 bounds,
4500 false); 4613 false);
4501 root->SetDrawsContent(true); 4614 root->SetDrawsContent(true);
4502 4615
4503 LayerImplList render_surface_layer_list; 4616 LayerImplList render_surface_layer_list;
4504 int dummy_max_texture_size = 512; 4617 int dummy_max_texture_size = 512;
4505 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4618 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4506 root->bounds(), 4619 root->bounds(),
4620 gfx::Transform(),
4507 1.f, 4621 1.f,
4508 1.f, 4622 1.f,
4509 NULL, 4623 NULL,
4510 dummy_max_texture_size, 4624 dummy_max_texture_size,
4511 false, 4625 false,
4512 true, // can_adjust_raster_scale 4626 true, // can_adjust_raster_scale
4513 &render_surface_layer_list); 4627 &render_surface_layer_list);
4514 4628
4515 // Sanity check the scenario we just created. 4629 // Sanity check the scenario we just created.
4516 ASSERT_EQ(1u, render_surface_layer_list.size()); 4630 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
4587 test_layer->SetContentsScale(2, 2); 4701 test_layer->SetContentsScale(2, 2);
4588 4702
4589 test_layer->SetDrawsContent(true); 4703 test_layer->SetDrawsContent(true);
4590 root->AddChild(test_layer.Pass()); 4704 root->AddChild(test_layer.Pass());
4591 } 4705 }
4592 4706
4593 LayerImplList render_surface_layer_list; 4707 LayerImplList render_surface_layer_list;
4594 int dummy_max_texture_size = 512; 4708 int dummy_max_texture_size = 512;
4595 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4709 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4596 root->bounds(), 4710 root->bounds(),
4711 gfx::Transform(),
4597 1.f, 4712 1.f,
4598 1.f, 4713 1.f,
4599 NULL, 4714 NULL,
4600 dummy_max_texture_size, 4715 dummy_max_texture_size,
4601 false, 4716 false,
4602 true, // can_adjust_raster_scale 4717 true, // can_adjust_raster_scale
4603 &render_surface_layer_list); 4718 &render_surface_layer_list);
4604 4719
4605 // Sanity check the scenario we just created. 4720 // Sanity check the scenario we just created.
4606 // The visible content rect for test_layer is actually 100x100, even though 4721 // The visible content rect for test_layer is actually 100x100, even though
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
4688 false); 4803 false);
4689 child->SetDrawsContent(true); 4804 child->SetDrawsContent(true);
4690 clipping_layer->AddChild(child.Pass()); 4805 clipping_layer->AddChild(child.Pass());
4691 root->AddChild(clipping_layer.Pass()); 4806 root->AddChild(clipping_layer.Pass());
4692 } 4807 }
4693 4808
4694 LayerImplList render_surface_layer_list; 4809 LayerImplList render_surface_layer_list;
4695 int dummy_max_texture_size = 512; 4810 int dummy_max_texture_size = 512;
4696 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4811 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4697 root->bounds(), 4812 root->bounds(),
4813 gfx::Transform(),
4698 1.f, 4814 1.f,
4699 1.f, 4815 1.f,
4700 NULL, 4816 NULL,
4701 dummy_max_texture_size, 4817 dummy_max_texture_size,
4702 false, 4818 false,
4703 true, // can_adjust_raster_scale 4819 true, // can_adjust_raster_scale
4704 &render_surface_layer_list); 4820 &render_surface_layer_list);
4705 4821
4706 // Sanity check the scenario we just created. 4822 // Sanity check the scenario we just created.
4707 ASSERT_EQ(1u, render_surface_layer_list.size()); 4823 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
4822 4938
4823 grand_child->AddChild(rotated_leaf.Pass()); 4939 grand_child->AddChild(rotated_leaf.Pass());
4824 child->AddChild(grand_child.Pass()); 4940 child->AddChild(grand_child.Pass());
4825 root->AddChild(child.Pass()); 4941 root->AddChild(child.Pass());
4826 } 4942 }
4827 4943
4828 LayerImplList render_surface_layer_list; 4944 LayerImplList render_surface_layer_list;
4829 int dummy_max_texture_size = 512; 4945 int dummy_max_texture_size = 512;
4830 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4946 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4831 root->bounds(), 4947 root->bounds(),
4948 gfx::Transform(),
4832 1.f, 4949 1.f,
4833 1.f, 4950 1.f,
4834 NULL, 4951 NULL,
4835 dummy_max_texture_size, 4952 dummy_max_texture_size,
4836 false, 4953 false,
4837 true, // can_adjust_raster_scale 4954 true, // can_adjust_raster_scale
4838 &render_surface_layer_list); 4955 &render_surface_layer_list);
4839 4956
4840 // Sanity check the scenario we just created. 4957 // Sanity check the scenario we just created.
4841 // The grand_child is expected to create a render surface because it 4958 // The grand_child is expected to create a render surface because it
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
4949 false); 5066 false);
4950 child->SetDrawsContent(true); 5067 child->SetDrawsContent(true);
4951 intermediate_layer->AddChild(child.Pass()); 5068 intermediate_layer->AddChild(child.Pass());
4952 root->AddChild(intermediate_layer.Pass()); 5069 root->AddChild(intermediate_layer.Pass());
4953 } 5070 }
4954 5071
4955 LayerImplList render_surface_layer_list; 5072 LayerImplList render_surface_layer_list;
4956 int dummy_max_texture_size = 512; 5073 int dummy_max_texture_size = 512;
4957 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5074 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4958 root->bounds(), 5075 root->bounds(),
5076 gfx::Transform(),
4959 1.f, 5077 1.f,
4960 1.f, 5078 1.f,
4961 NULL, 5079 NULL,
4962 dummy_max_texture_size, 5080 dummy_max_texture_size,
4963 false, 5081 false,
4964 true, // can_adjust_raster_scale 5082 true, // can_adjust_raster_scale
4965 &render_surface_layer_list); 5083 &render_surface_layer_list);
4966 5084
4967 // Sanity check the scenario we just created. 5085 // Sanity check the scenario we just created.
4968 ASSERT_EQ(1u, render_surface_layer_list.size()); 5086 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
5067 } 5185 }
5068 5186
5069 LayerImpl* child1 = root->children()[0]; 5187 LayerImpl* child1 = root->children()[0];
5070 LayerImpl* child2 = root->children()[1]; 5188 LayerImpl* child2 = root->children()[1];
5071 LayerImpl* grand_child1 = child1->children()[0]; 5189 LayerImpl* grand_child1 = child1->children()[0];
5072 5190
5073 LayerImplList render_surface_layer_list; 5191 LayerImplList render_surface_layer_list;
5074 int dummy_max_texture_size = 512; 5192 int dummy_max_texture_size = 512;
5075 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5193 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5076 root->bounds(), 5194 root->bounds(),
5195 gfx::Transform(),
5077 1.f, 5196 1.f,
5078 1.f, 5197 1.f,
5079 NULL, 5198 NULL,
5080 dummy_max_texture_size, 5199 dummy_max_texture_size,
5081 false, 5200 false,
5082 true, // can_adjust_raster_scale 5201 true, // can_adjust_raster_scale
5083 &render_surface_layer_list); 5202 &render_surface_layer_list);
5084 5203
5085 // Sanity check the scenario we just created. 5204 // Sanity check the scenario we just created.
5086 ASSERT_TRUE(child1); 5205 ASSERT_TRUE(child1);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
5221 } 5340 }
5222 5341
5223 LayerImpl* child1 = root->children()[0]; 5342 LayerImpl* child1 = root->children()[0];
5224 LayerImpl* child2 = root->children()[1]; 5343 LayerImpl* child2 = root->children()[1];
5225 LayerImpl* grand_child1 = child1->children()[0]; 5344 LayerImpl* grand_child1 = child1->children()[0];
5226 5345
5227 LayerImplList render_surface_layer_list; 5346 LayerImplList render_surface_layer_list;
5228 int dummy_max_texture_size = 512; 5347 int dummy_max_texture_size = 512;
5229 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5348 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5230 root->bounds(), 5349 root->bounds(),
5350 gfx::Transform(),
5231 1.f, 5351 1.f,
5232 1.f, 5352 1.f,
5233 NULL, 5353 NULL,
5234 dummy_max_texture_size, 5354 dummy_max_texture_size,
5235 false, 5355 false,
5236 true, // can_adjust_raster_scale 5356 true, // can_adjust_raster_scale
5237 &render_surface_layer_list); 5357 &render_surface_layer_list);
5238 5358
5239 // Sanity check the scenario we just created. 5359 // Sanity check the scenario we just created.
5240 ASSERT_TRUE(child1); 5360 ASSERT_TRUE(child1);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
5339 anchor, 5459 anchor,
5340 position, 5460 position,
5341 bounds, 5461 bounds,
5342 false); 5462 false);
5343 root->SetDrawsContent(true); 5463 root->SetDrawsContent(true);
5344 5464
5345 LayerImplList render_surface_layer_list; 5465 LayerImplList render_surface_layer_list;
5346 int dummy_max_texture_size = 512; 5466 int dummy_max_texture_size = 512;
5347 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5467 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5348 root->bounds(), 5468 root->bounds(),
5469 gfx::Transform(),
5349 1.f, 5470 1.f,
5350 1.f, 5471 1.f,
5351 NULL, 5472 NULL,
5352 dummy_max_texture_size, 5473 dummy_max_texture_size,
5353 false, 5474 false,
5354 true, // can_adjust_raster_scale 5475 true, // can_adjust_raster_scale
5355 &render_surface_layer_list); 5476 &render_surface_layer_list);
5356 5477
5357 // Sanity check the scenario we just created. 5478 // Sanity check the scenario we just created.
5358 ASSERT_EQ(1u, render_surface_layer_list.size()); 5479 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
5437 position, 5558 position,
5438 bounds, 5559 bounds,
5439 false); 5560 false);
5440 root->SetDrawsContent(true); 5561 root->SetDrawsContent(true);
5441 root->SetTouchEventHandlerRegion(touch_handler_region); 5562 root->SetTouchEventHandlerRegion(touch_handler_region);
5442 5563
5443 LayerImplList render_surface_layer_list; 5564 LayerImplList render_surface_layer_list;
5444 int dummy_max_texture_size = 512; 5565 int dummy_max_texture_size = 512;
5445 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5566 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5446 root->bounds(), 5567 root->bounds(),
5568 gfx::Transform(),
5447 1.f, 5569 1.f,
5448 1.f, 5570 1.f,
5449 NULL, 5571 NULL,
5450 dummy_max_texture_size, 5572 dummy_max_texture_size,
5451 false, 5573 false,
5452 true, // can_adjust_raster_scale 5574 true, // can_adjust_raster_scale
5453 &render_surface_layer_list); 5575 &render_surface_layer_list);
5454 5576
5455 // Sanity check the scenario we just created. 5577 // Sanity check the scenario we just created.
5456 ASSERT_EQ(1u, render_surface_layer_list.size()); 5578 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
5525 position, 5647 position,
5526 bounds, 5648 bounds,
5527 false); 5649 false);
5528 root->SetDrawsContent(true); 5650 root->SetDrawsContent(true);
5529 root->SetTouchEventHandlerRegion(touch_handler_region); 5651 root->SetTouchEventHandlerRegion(touch_handler_region);
5530 5652
5531 LayerImplList render_surface_layer_list; 5653 LayerImplList render_surface_layer_list;
5532 int dummy_max_texture_size = 512; 5654 int dummy_max_texture_size = 512;
5533 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5655 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5534 root->bounds(), 5656 root->bounds(),
5657 gfx::Transform(),
5535 1.f, 5658 1.f,
5536 1.f, 5659 1.f,
5537 NULL, 5660 NULL,
5538 dummy_max_texture_size, 5661 dummy_max_texture_size,
5539 false, 5662 false,
5540 true, // can_adjust_raster_scale 5663 true, // can_adjust_raster_scale
5541 &render_surface_layer_list); 5664 &render_surface_layer_list);
5542 5665
5543 // Sanity check the scenario we just created. 5666 // Sanity check the scenario we just created.
5544 ASSERT_EQ(1u, render_surface_layer_list.size()); 5667 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
5631 5754
5632 test_layer->SetDrawsContent(true); 5755 test_layer->SetDrawsContent(true);
5633 test_layer->SetTouchEventHandlerRegion(touch_handler_region); 5756 test_layer->SetTouchEventHandlerRegion(touch_handler_region);
5634 root->AddChild(test_layer.Pass()); 5757 root->AddChild(test_layer.Pass());
5635 } 5758 }
5636 5759
5637 LayerImplList render_surface_layer_list; 5760 LayerImplList render_surface_layer_list;
5638 int dummy_max_texture_size = 512; 5761 int dummy_max_texture_size = 512;
5639 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5762 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5640 root->bounds(), 5763 root->bounds(),
5764 gfx::Transform(),
5641 1.f, 5765 1.f,
5642 1.f, 5766 1.f,
5643 NULL, 5767 NULL,
5644 dummy_max_texture_size, 5768 dummy_max_texture_size,
5645 false, 5769 false,
5646 true, // can_adjust_raster_scale 5770 true, // can_adjust_raster_scale
5647 &render_surface_layer_list); 5771 &render_surface_layer_list);
5648 5772
5649 // Sanity check the scenario we just created. 5773 // Sanity check the scenario we just created.
5650 // The visible content rect for test_layer is actually 100x100, even though 5774 // The visible content rect for test_layer is actually 100x100, even though
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
5744 } 5868 }
5745 5869
5746 LayerImplList render_surface_layer_list; 5870 LayerImplList render_surface_layer_list;
5747 int dummy_max_texture_size = 512; 5871 int dummy_max_texture_size = 512;
5748 float device_scale_factor = 3.f; 5872 float device_scale_factor = 3.f;
5749 float page_scale_factor = 5.f; 5873 float page_scale_factor = 5.f;
5750 gfx::Size scaled_bounds_for_root = gfx::ToCeiledSize( 5874 gfx::Size scaled_bounds_for_root = gfx::ToCeiledSize(
5751 gfx::ScaleSize(root->bounds(), device_scale_factor * page_scale_factor)); 5875 gfx::ScaleSize(root->bounds(), device_scale_factor * page_scale_factor));
5752 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5876 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5753 scaled_bounds_for_root, 5877 scaled_bounds_for_root,
5878 gfx::Transform(),
5754 device_scale_factor, 5879 device_scale_factor,
5755 page_scale_factor, 5880 page_scale_factor,
5756 root.get(), 5881 root.get(),
5757 dummy_max_texture_size, 5882 dummy_max_texture_size,
5758 false, 5883 false,
5759 true, // can_adjust_raster_scale 5884 true, // can_adjust_raster_scale
5760 &render_surface_layer_list); 5885 &render_surface_layer_list);
5761 5886
5762 // Sanity check the scenario we just created. 5887 // Sanity check the scenario we just created.
5763 // The visible content rect for test_layer is actually 100x100, even though 5888 // The visible content rect for test_layer is actually 100x100, even though
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
5884 child->SetDrawsContent(true); 6009 child->SetDrawsContent(true);
5885 child->SetTouchEventHandlerRegion(touch_handler_region); 6010 child->SetTouchEventHandlerRegion(touch_handler_region);
5886 clipping_layer->AddChild(child.Pass()); 6011 clipping_layer->AddChild(child.Pass());
5887 root->AddChild(clipping_layer.Pass()); 6012 root->AddChild(clipping_layer.Pass());
5888 } 6013 }
5889 6014
5890 LayerImplList render_surface_layer_list; 6015 LayerImplList render_surface_layer_list;
5891 int dummy_max_texture_size = 512; 6016 int dummy_max_texture_size = 512;
5892 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6017 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5893 root->bounds(), 6018 root->bounds(),
6019 gfx::Transform(),
5894 1.f, 6020 1.f,
5895 1.f, 6021 1.f,
5896 NULL, 6022 NULL,
5897 dummy_max_texture_size, 6023 dummy_max_texture_size,
5898 false, 6024 false,
5899 true, // can_adjust_raster_scale 6025 true, // can_adjust_raster_scale
5900 &render_surface_layer_list); 6026 &render_surface_layer_list);
5901 6027
5902 // Sanity check the scenario we just created. 6028 // Sanity check the scenario we just created.
5903 ASSERT_EQ(1u, render_surface_layer_list.size()); 6029 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
6029 parent->AddChild(child_no_scale); 6155 parent->AddChild(child_no_scale);
6030 6156
6031 LayerList render_surface_layer_list; 6157 LayerList render_surface_layer_list;
6032 int dummy_max_texture_size = 512; 6158 int dummy_max_texture_size = 512;
6033 6159
6034 float device_scale_factor = 2.5f; 6160 float device_scale_factor = 2.5f;
6035 float page_scale_factor = 1.f; 6161 float page_scale_factor = 1.f;
6036 6162
6037 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 6163 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
6038 parent->bounds(), 6164 parent->bounds(),
6165 gfx::Transform(),
6039 device_scale_factor, 6166 device_scale_factor,
6040 page_scale_factor, 6167 page_scale_factor,
6041 parent.get(), 6168 parent.get(),
6042 dummy_max_texture_size, 6169 dummy_max_texture_size,
6043 false, 6170 false,
6044 true, // can_adjust_raster_scale 6171 true, // can_adjust_raster_scale
6045 &render_surface_layer_list); 6172 &render_surface_layer_list);
6046 6173
6047 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6174 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6048 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child); 6175 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
6166 parent->AddChild(scale_surface); 6293 parent->AddChild(scale_surface);
6167 6294
6168 LayerList render_surface_layer_list; 6295 LayerList render_surface_layer_list;
6169 int dummy_max_texture_size = 512; 6296 int dummy_max_texture_size = 512;
6170 6297
6171 float device_scale_factor = 2.5f; 6298 float device_scale_factor = 2.5f;
6172 float page_scale_factor = 3.f; 6299 float page_scale_factor = 3.f;
6173 6300
6174 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 6301 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
6175 parent->bounds(), 6302 parent->bounds(),
6303 gfx::Transform(),
6176 device_scale_factor, 6304 device_scale_factor,
6177 page_scale_factor, 6305 page_scale_factor,
6178 parent.get(), 6306 parent.get(),
6179 dummy_max_texture_size, 6307 dummy_max_texture_size,
6180 false, 6308 false,
6181 true, // can_adjust_raster_scale 6309 true, // can_adjust_raster_scale
6182 &render_surface_layer_list); 6310 &render_surface_layer_list);
6183 6311
6184 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6312 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6185 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6313 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
6266 parent->AddChild(child_no_scale); 6394 parent->AddChild(child_no_scale);
6267 6395
6268 LayerList render_surface_layer_list; 6396 LayerList render_surface_layer_list;
6269 int dummy_max_texture_size = 512; 6397 int dummy_max_texture_size = 512;
6270 6398
6271 float device_scale_factor = 1.7f; 6399 float device_scale_factor = 1.7f;
6272 float page_scale_factor = 1.f; 6400 float page_scale_factor = 1.f;
6273 6401
6274 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 6402 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
6275 parent->bounds(), 6403 parent->bounds(),
6404 gfx::Transform(),
6276 device_scale_factor, 6405 device_scale_factor,
6277 page_scale_factor, 6406 page_scale_factor,
6278 parent.get(), 6407 parent.get(),
6279 dummy_max_texture_size, 6408 dummy_max_texture_size,
6280 false, 6409 false,
6281 true, // can_adjust_raster_scale 6410 true, // can_adjust_raster_scale
6282 &render_surface_layer_list); 6411 &render_surface_layer_list);
6283 6412
6284 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6413 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6285 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child); 6414 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child);
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
6405 parent->AddChild(child_no_scale); 6534 parent->AddChild(child_no_scale);
6406 6535
6407 LayerList render_surface_layer_list; 6536 LayerList render_surface_layer_list;
6408 int dummy_max_texture_size = 512; 6537 int dummy_max_texture_size = 512;
6409 6538
6410 float device_scale_factor = 2.5f; 6539 float device_scale_factor = 2.5f;
6411 float page_scale_factor = 1.f; 6540 float page_scale_factor = 1.f;
6412 6541
6413 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6542 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6414 root->bounds(), 6543 root->bounds(),
6544 gfx::Transform(),
6415 device_scale_factor, 6545 device_scale_factor,
6416 page_scale_factor, 6546 page_scale_factor,
6417 parent.get(), 6547 parent.get(),
6418 dummy_max_texture_size, 6548 dummy_max_texture_size,
6419 false, 6549 false,
6420 true, // can_adjust_raster_scale 6550 true, // can_adjust_raster_scale
6421 &render_surface_layer_list); 6551 &render_surface_layer_list);
6422 6552
6423 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6553 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6424 initial_parent_scale, parent); 6554 initial_parent_scale, parent);
(...skipping 22 matching lines...) Expand all
6447 child_no_scale->draw_transform().matrix().getDouble(1, 1)); 6577 child_no_scale->draw_transform().matrix().getDouble(1, 1));
6448 6578
6449 // If the device_scale_factor or page_scale_factor changes, then it should be 6579 // If the device_scale_factor or page_scale_factor changes, then it should be
6450 // updated using the initial transform as the raster scale. 6580 // updated using the initial transform as the raster scale.
6451 device_scale_factor = 2.25f; 6581 device_scale_factor = 2.25f;
6452 page_scale_factor = 1.25f; 6582 page_scale_factor = 1.25f;
6453 6583
6454 render_surface_layer_list.clear(); 6584 render_surface_layer_list.clear();
6455 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6585 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6456 root->bounds(), 6586 root->bounds(),
6587 gfx::Transform(),
6457 device_scale_factor, 6588 device_scale_factor,
6458 page_scale_factor, 6589 page_scale_factor,
6459 parent.get(), 6590 parent.get(),
6460 dummy_max_texture_size, 6591 dummy_max_texture_size,
6461 false, 6592 false,
6462 true, // can_adjust_raster_scale 6593 true, // can_adjust_raster_scale
6463 &render_surface_layer_list); 6594 &render_surface_layer_list);
6464 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6595 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6465 initial_parent_scale, 6596 initial_parent_scale,
6466 parent); 6597 parent);
6467 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6598 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6468 initial_parent_scale * initial_child_scale, 6599 initial_parent_scale * initial_child_scale,
6469 child_scale); 6600 child_scale);
6470 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6601 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6471 initial_parent_scale * initial_child_scale, 6602 initial_parent_scale * initial_child_scale,
6472 child_empty); 6603 child_empty);
6473 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale); 6604 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
6474 6605
6475 // If the transform changes, we expect the raster scale to be reset to 1.0. 6606 // If the transform changes, we expect the raster scale to be reset to 1.0.
6476 double second_child_scale = 1.75; 6607 double second_child_scale = 1.75;
6477 child_scale_matrix.Scale(second_child_scale / initial_child_scale, 6608 child_scale_matrix.Scale(second_child_scale / initial_child_scale,
6478 second_child_scale / initial_child_scale); 6609 second_child_scale / initial_child_scale);
6479 child_scale->SetTransform(child_scale_matrix); 6610 child_scale->SetTransform(child_scale_matrix);
6480 child_empty->SetTransform(child_scale_matrix); 6611 child_empty->SetTransform(child_scale_matrix);
6481 6612
6482 render_surface_layer_list.clear(); 6613 render_surface_layer_list.clear();
6483 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6614 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6484 root->bounds(), 6615 root->bounds(),
6616 gfx::Transform(),
6485 device_scale_factor, 6617 device_scale_factor,
6486 page_scale_factor, 6618 page_scale_factor,
6487 parent.get(), 6619 parent.get(),
6488 dummy_max_texture_size, 6620 dummy_max_texture_size,
6489 false, 6621 false,
6490 true, // can_adjust_raster_scale 6622 true, // can_adjust_raster_scale
6491 &render_surface_layer_list); 6623 &render_surface_layer_list);
6492 6624
6493 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6625 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6494 initial_parent_scale, 6626 initial_parent_scale,
6495 parent); 6627 parent);
6496 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6628 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
6497 child_scale); 6629 child_scale);
6498 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6630 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
6499 child_empty); 6631 child_empty);
6500 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale); 6632 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
6501 6633
6502 // If the device_scale_factor or page_scale_factor changes, then it should be 6634 // If the device_scale_factor or page_scale_factor changes, then it should be
6503 // updated, but still using 1.0 as the raster scale. 6635 // updated, but still using 1.0 as the raster scale.
6504 device_scale_factor = 2.75f; 6636 device_scale_factor = 2.75f;
6505 page_scale_factor = 1.75f; 6637 page_scale_factor = 1.75f;
6506 6638
6507 render_surface_layer_list.clear(); 6639 render_surface_layer_list.clear();
6508 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6640 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6509 root->bounds(), 6641 root->bounds(),
6642 gfx::Transform(),
6510 device_scale_factor, 6643 device_scale_factor,
6511 page_scale_factor, 6644 page_scale_factor,
6512 parent.get(), 6645 parent.get(),
6513 dummy_max_texture_size, 6646 dummy_max_texture_size,
6514 false, 6647 false,
6515 true, // can_adjust_raster_scale 6648 true, // can_adjust_raster_scale
6516 &render_surface_layer_list); 6649 &render_surface_layer_list);
6517 6650
6518 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6651 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6519 initial_parent_scale, 6652 initial_parent_scale,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
6588 6721
6589 LayerList render_surface_layer_list; 6722 LayerList render_surface_layer_list;
6590 int dummy_max_texture_size = 512; 6723 int dummy_max_texture_size = 512;
6591 6724
6592 float device_scale_factor = 2.5f; 6725 float device_scale_factor = 2.5f;
6593 float page_scale_factor = 1.f; 6726 float page_scale_factor = 1.f;
6594 6727
6595 LayerTreeHostCommon::CalculateDrawProperties( 6728 LayerTreeHostCommon::CalculateDrawProperties(
6596 root.get(), 6729 root.get(),
6597 root->bounds(), 6730 root->bounds(),
6731 gfx::Transform(),
6598 device_scale_factor, 6732 device_scale_factor,
6599 page_scale_factor, 6733 page_scale_factor,
6600 parent.get(), 6734 parent.get(),
6601 dummy_max_texture_size, 6735 dummy_max_texture_size,
6602 false, 6736 false,
6603 false, // can_adjust_raster_scale 6737 false, // can_adjust_raster_scale
6604 &render_surface_layer_list); 6738 &render_surface_layer_list);
6605 6739
6606 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6740 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6607 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6741 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
6671 parent->AddChild(child_scale); 6805 parent->AddChild(child_scale);
6672 6806
6673 LayerList render_surface_layer_list; 6807 LayerList render_surface_layer_list;
6674 int dummy_max_texture_size = 512; 6808 int dummy_max_texture_size = 512;
6675 6809
6676 float device_scale_factor = 2.5f; 6810 float device_scale_factor = 2.5f;
6677 float page_scale_factor = 0.01f; 6811 float page_scale_factor = 0.01f;
6678 6812
6679 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6813 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6680 root->bounds(), 6814 root->bounds(),
6815 gfx::Transform(),
6681 device_scale_factor, 6816 device_scale_factor,
6682 page_scale_factor, 6817 page_scale_factor,
6683 parent.get(), 6818 parent.get(),
6684 dummy_max_texture_size, 6819 dummy_max_texture_size,
6685 false, 6820 false,
6686 true, // can_adjust_raster_scale 6821 true, // can_adjust_raster_scale
6687 &render_surface_layer_list); 6822 &render_surface_layer_list);
6688 6823
6689 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6824 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6690 initial_parent_scale, 6825 initial_parent_scale,
6691 parent); 6826 parent);
6692 // The child's scale is < 1, so we should not save and use that scale factor. 6827 // The child's scale is < 1, so we should not save and use that scale factor.
6693 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 1, 6828 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 1,
6694 child_scale); 6829 child_scale);
6695 6830
6696 // When chilld's total scale becomes >= 1, we should save and use that scale 6831 // When chilld's total scale becomes >= 1, we should save and use that scale
6697 // factor. 6832 // factor.
6698 child_scale_matrix.MakeIdentity(); 6833 child_scale_matrix.MakeIdentity();
6699 double final_child_scale = 0.75; 6834 double final_child_scale = 0.75;
6700 child_scale_matrix.Scale(final_child_scale, final_child_scale); 6835 child_scale_matrix.Scale(final_child_scale, final_child_scale);
6701 child_scale->SetTransform(child_scale_matrix); 6836 child_scale->SetTransform(child_scale_matrix);
6702 6837
6703 render_surface_layer_list.clear(); 6838 render_surface_layer_list.clear();
6704 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6839 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6705 root->bounds(), 6840 root->bounds(),
6841 gfx::Transform(),
6706 device_scale_factor, 6842 device_scale_factor,
6707 page_scale_factor, 6843 page_scale_factor,
6708 parent.get(), 6844 parent.get(),
6709 dummy_max_texture_size, 6845 dummy_max_texture_size,
6710 false, 6846 false,
6711 true, // can_adjust_raster_scale 6847 true, // can_adjust_raster_scale
6712 &render_surface_layer_list); 6848 &render_surface_layer_list);
6713 6849
6714 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6850 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6715 initial_parent_scale, 6851 initial_parent_scale,
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
6817 surface_no_scale->AddChild(surface_no_scale_child_no_scale); 6953 surface_no_scale->AddChild(surface_no_scale_child_no_scale);
6818 6954
6819 LayerList render_surface_layer_list; 6955 LayerList render_surface_layer_list;
6820 int dummy_max_texture_size = 512; 6956 int dummy_max_texture_size = 512;
6821 6957
6822 double device_scale_factor = 5; 6958 double device_scale_factor = 5;
6823 double page_scale_factor = 7; 6959 double page_scale_factor = 7;
6824 6960
6825 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6961 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6826 root->bounds(), 6962 root->bounds(),
6963 gfx::Transform(),
6827 device_scale_factor, 6964 device_scale_factor,
6828 page_scale_factor, 6965 page_scale_factor,
6829 parent.get(), 6966 parent.get(),
6830 dummy_max_texture_size, 6967 dummy_max_texture_size,
6831 false, 6968 false,
6832 true, // can_adjust_raster_scale 6969 true, // can_adjust_raster_scale
6833 &render_surface_layer_list); 6970 &render_surface_layer_list);
6834 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6971 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6835 initial_parent_scale, 6972 initial_parent_scale,
6836 parent); 6973 parent);
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
7032 7169
7033 LayerList render_surface_layer_list; 7170 LayerList render_surface_layer_list;
7034 int dummy_max_texture_size = 512; 7171 int dummy_max_texture_size = 512;
7035 7172
7036 double device_scale_factor = 5; 7173 double device_scale_factor = 5;
7037 double page_scale_factor = 7; 7174 double page_scale_factor = 7;
7038 7175
7039 LayerTreeHostCommon::CalculateDrawProperties( 7176 LayerTreeHostCommon::CalculateDrawProperties(
7040 root.get(), 7177 root.get(),
7041 root->bounds(), 7178 root->bounds(),
7179 gfx::Transform(),
7042 device_scale_factor, 7180 device_scale_factor,
7043 page_scale_factor, 7181 page_scale_factor,
7044 parent.get(), 7182 parent.get(),
7045 dummy_max_texture_size, 7183 dummy_max_texture_size,
7046 false, 7184 false,
7047 false, // can_adjust_raster_scale 7185 false, // can_adjust_raster_scale
7048 &render_surface_layer_list); 7186 &render_surface_layer_list);
7049 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 7187 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
7050 parent); 7188 parent);
7051 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 7189 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
7185 7323
7186 // Now put an animating transform on child. 7324 // Now put an animating transform on child.
7187 int animation_id = AddAnimatedTransformToController( 7325 int animation_id = AddAnimatedTransformToController(
7188 child_scale->layer_animation_controller(), 10.0, 30, 0); 7326 child_scale->layer_animation_controller(), 10.0, 30, 0);
7189 7327
7190 LayerList render_surface_layer_list; 7328 LayerList render_surface_layer_list;
7191 int dummy_max_texture_size = 512; 7329 int dummy_max_texture_size = 512;
7192 7330
7193 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 7331 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
7194 root->bounds(), 7332 root->bounds(),
7333 gfx::Transform(),
7195 1.f, 7334 1.f,
7196 1.f, 7335 1.f,
7197 NULL, 7336 NULL,
7198 dummy_max_texture_size, 7337 dummy_max_texture_size,
7199 false, 7338 false,
7200 true, // can_adjust_raster_scale 7339 true, // can_adjust_raster_scale
7201 &render_surface_layer_list); 7340 &render_surface_layer_list);
7202 7341
7203 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent); 7342 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
7204 // The layers with animating transforms should not compute a contents scale 7343 // The layers with animating transforms should not compute a contents scale
7205 // other than 1 until they finish animating. 7344 // other than 1 until they finish animating.
7206 EXPECT_CONTENTS_SCALE_EQ(1, child_scale); 7345 EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
7207 7346
7208 // Remove the animation, now it can save a raster scale. 7347 // Remove the animation, now it can save a raster scale.
7209 child_scale->layer_animation_controller()->RemoveAnimation(animation_id); 7348 child_scale->layer_animation_controller()->RemoveAnimation(animation_id);
7210 7349
7211 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 7350 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
7212 root->bounds(), 7351 root->bounds(),
7352 gfx::Transform(),
7213 1.f, 7353 1.f,
7214 1.f, 7354 1.f,
7215 NULL, 7355 NULL,
7216 dummy_max_texture_size, 7356 dummy_max_texture_size,
7217 false, 7357 false,
7218 true, // can_adjust_raster_scale 7358 true, // can_adjust_raster_scale
7219 &render_surface_layer_list); 7359 &render_surface_layer_list);
7220 7360
7221 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent); 7361 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
7222 // The layers with animating transforms should not compute a contents scale 7362 // The layers with animating transforms should not compute a contents scale
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
7273 parent->AddChild(child); 7413 parent->AddChild(child);
7274 child->AddChild(duplicate_child_non_owner); 7414 child->AddChild(duplicate_child_non_owner);
7275 child->SetReplicaLayer(replica.get()); 7415 child->SetReplicaLayer(replica.get());
7276 7416
7277 LayerList render_surface_layer_list; 7417 LayerList render_surface_layer_list;
7278 int dummy_max_texture_size = 512; 7418 int dummy_max_texture_size = 512;
7279 7419
7280 float device_scale_factor = 1.5f; 7420 float device_scale_factor = 1.5f;
7281 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 7421 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
7282 parent->bounds(), 7422 parent->bounds(),
7423 gfx::Transform(),
7283 device_scale_factor, 7424 device_scale_factor,
7284 1.f, 7425 1.f,
7285 NULL, 7426 NULL,
7286 dummy_max_texture_size, 7427 dummy_max_texture_size,
7287 false, 7428 false,
7288 true, // can_adjust_raster_scale 7429 true, // can_adjust_raster_scale
7289 &render_surface_layer_list); 7430 &render_surface_layer_list);
7290 7431
7291 // We should have two render surfaces. The root's render surface and child's 7432 // We should have two render surfaces. The root's render surface and child's
7292 // render surface (it needs one because it has a replica layer). 7433 // render surface (it needs one because it has a replica layer).
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
7410 parent->AddChild(child); 7551 parent->AddChild(child);
7411 child->AddChild(duplicate_child_non_owner); 7552 child->AddChild(duplicate_child_non_owner);
7412 child->SetReplicaLayer(replica.get()); 7553 child->SetReplicaLayer(replica.get());
7413 7554
7414 LayerList render_surface_layer_list; 7555 LayerList render_surface_layer_list;
7415 int dummy_max_texture_size = 512; 7556 int dummy_max_texture_size = 512;
7416 7557
7417 float device_scale_factor = 1.7f; 7558 float device_scale_factor = 1.7f;
7418 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 7559 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
7419 parent->bounds(), 7560 parent->bounds(),
7561 gfx::Transform(),
7420 device_scale_factor, 7562 device_scale_factor,
7421 1.f, 7563 1.f,
7422 NULL, 7564 NULL,
7423 dummy_max_texture_size, 7565 dummy_max_texture_size,
7424 false, 7566 false,
7425 true, // can_adjust_raster_scale 7567 true, // can_adjust_raster_scale
7426 &render_surface_layer_list); 7568 &render_surface_layer_list);
7427 7569
7428 // We should have two render surfaces. The root's render surface and child's 7570 // We should have two render surfaces. The root's render surface and child's
7429 // render surface (it needs one because it has a replica layer). 7571 // render surface (it needs one because it has a replica layer).
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
7564 // Add opacity animation. 7706 // Add opacity animation.
7565 AddOpacityTransitionToController( 7707 AddOpacityTransitionToController(
7566 child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false); 7708 child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false);
7567 7709
7568 root->AddChild(child.Pass()); 7710 root->AddChild(child.Pass());
7569 7711
7570 std::vector<LayerImpl*> render_surface_layer_list; 7712 std::vector<LayerImpl*> render_surface_layer_list;
7571 int dummy_max_texture_size = 512; 7713 int dummy_max_texture_size = 512;
7572 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 7714 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
7573 root->bounds(), 7715 root->bounds(),
7716 gfx::Transform(),
7574 1.f, 7717 1.f,
7575 1.f, 7718 1.f,
7576 NULL, 7719 NULL,
7577 dummy_max_texture_size, 7720 dummy_max_texture_size,
7578 false, 7721 false,
7579 true, // can_adjust_raster_scale 7722 true, // can_adjust_raster_scale
7580 &render_surface_layer_list); 7723 &render_surface_layer_list);
7581 7724
7582 // We should have one render surface and two layers. The child 7725 // We should have one render surface and two layers. The child
7583 // layer should be included even though it is transparent. 7726 // layer should be included even though it is transparent.
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
7728 EXPECT_EQ(can_use_lcd_text_, child_->can_use_lcd_text()); 7871 EXPECT_EQ(can_use_lcd_text_, child_->can_use_lcd_text());
7729 EXPECT_EQ(can_use_lcd_text_, grand_child_->can_use_lcd_text()); 7872 EXPECT_EQ(can_use_lcd_text_, grand_child_->can_use_lcd_text());
7730 } 7873 }
7731 7874
7732 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, 7875 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest,
7733 LCDTextTest, 7876 LCDTextTest,
7734 testing::Combine(testing::Bool(), testing::Bool())); 7877 testing::Combine(testing::Bool(), testing::Bool()));
7735 7878
7736 } // namespace 7879 } // namespace
7737 } // namespace cc 7880 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698