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

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: Turn on fuzzy comparator for new SoftwareRenderer 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, root->draw_properties().target_space_transform);
1529 EXPECT_EQ(translate, child->draw_properties().target_space_transform);
1530 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1531
1532 gfx::Transform scale;
1533 scale.Scale(2, 2);
1534 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1535 root->bounds(),
1536 scale,
1537 1.f,
1538 1.f,
1539 NULL,
1540 dummy_max_texture_size,
1541 false,
1542 true, // can_adjust_raster_scale
1543 &render_surface_layer_list);
1544 EXPECT_EQ(scale, root->draw_properties().target_space_transform);
1545 EXPECT_EQ(scale, child->draw_properties().target_space_transform);
1546 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1547
1548 gfx::Transform rotate;
1549 rotate.Rotate(2);
1550 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1551 root->bounds(),
1552 rotate,
1553 1.f,
1554 1.f,
1555 NULL,
1556 dummy_max_texture_size,
1557 false,
1558 true, // can_adjust_raster_scale
1559 &render_surface_layer_list);
1560 EXPECT_EQ(rotate, root->draw_properties().target_space_transform);
1561 EXPECT_EQ(rotate, child->draw_properties().target_space_transform);
1562 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1563
1564 gfx::Transform composite;
1565 composite.ConcatTransform(translate);
1566 composite.ConcatTransform(scale);
1567 composite.ConcatTransform(rotate);
1568 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1569 root->bounds(),
1570 composite,
1571 1.f,
1572 1.f,
1573 NULL,
1574 dummy_max_texture_size,
1575 false,
1576 true, // can_adjust_raster_scale
1577 &render_surface_layer_list);
1578 EXPECT_EQ(composite, root->draw_properties().target_space_transform);
1579 EXPECT_EQ(composite, child->draw_properties().target_space_transform);
1580 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1581
1582 // Verify that it composes correctly with transforms directly on root layer.
1583 root->SetTransform(composite);
1584 root->SetSublayerTransform(composite);
1585 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1586 root->bounds(),
1587 composite,
1588 1.f,
1589 1.f,
1590 NULL,
1591 dummy_max_texture_size,
1592 false,
1593 true, // can_adjust_raster_scale
1594 &render_surface_layer_list);
1595 gfx::Transform compositeSquared = composite;
1596 compositeSquared.ConcatTransform(composite);
1597 gfx::Transform compositeCubed = compositeSquared;
1598 compositeCubed.ConcatTransform(composite);
1599 EXPECT_EQ(compositeSquared, root->draw_properties().target_space_transform);
1600 EXPECT_EQ(compositeCubed, child->draw_properties().target_space_transform);
1601 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1602 }
1603
1487 TEST(LayerTreeHostCommonTest, 1604 TEST(LayerTreeHostCommonTest,
1488 RenderSurfaceListForRenderSurfaceWithClippedLayer) { 1605 RenderSurfaceListForRenderSurfaceWithClippedLayer) {
1489 scoped_refptr<Layer> parent = Layer::Create(); 1606 scoped_refptr<Layer> parent = Layer::Create();
1490 scoped_refptr<Layer> render_surface1 = Layer::Create(); 1607 scoped_refptr<Layer> render_surface1 = Layer::Create();
1491 scoped_refptr<LayerWithForcedDrawsContent> child = 1608 scoped_refptr<LayerWithForcedDrawsContent> child =
1492 make_scoped_refptr(new LayerWithForcedDrawsContent()); 1609 make_scoped_refptr(new LayerWithForcedDrawsContent());
1493 1610
1494 const gfx::Transform identity_matrix; 1611 const gfx::Transform identity_matrix;
1495 SetLayerPropertiesForTesting(parent.get(), 1612 SetLayerPropertiesForTesting(parent.get(),
1496 identity_matrix, 1613 identity_matrix,
(...skipping 19 matching lines...) Expand all
1516 1633
1517 parent->AddChild(render_surface1); 1634 parent->AddChild(render_surface1);
1518 parent->SetMasksToBounds(true); 1635 parent->SetMasksToBounds(true);
1519 render_surface1->AddChild(child); 1636 render_surface1->AddChild(child);
1520 render_surface1->SetForceRenderSurface(true); 1637 render_surface1->SetForceRenderSurface(true);
1521 1638
1522 LayerList render_surface_layer_list; 1639 LayerList render_surface_layer_list;
1523 int dummy_max_texture_size = 512; 1640 int dummy_max_texture_size = 512;
1524 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1641 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1525 parent->bounds(), 1642 parent->bounds(),
1643 gfx::Transform(),
1526 1.f, 1644 1.f,
1527 1.f, 1645 1.f,
1528 NULL, 1646 NULL,
1529 dummy_max_texture_size, 1647 dummy_max_texture_size,
1530 false, 1648 false,
1531 true, // can_adjust_raster_scale 1649 true, // can_adjust_raster_scale
1532 &render_surface_layer_list); 1650 &render_surface_layer_list);
1533 1651
1534 // The child layer's content is entirely outside the parent's clip rect, so 1652 // 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 1653 // the intermediate render surface should not be listed here, even if it was
(...skipping 29 matching lines...) Expand all
1565 1683
1566 parent->AddChild(render_surface1); 1684 parent->AddChild(render_surface1);
1567 render_surface1->AddChild(child); 1685 render_surface1->AddChild(child);
1568 render_surface1->SetForceRenderSurface(true); 1686 render_surface1->SetForceRenderSurface(true);
1569 render_surface1->SetOpacity(0.f); 1687 render_surface1->SetOpacity(0.f);
1570 1688
1571 LayerList render_surface_layer_list; 1689 LayerList render_surface_layer_list;
1572 int dummy_max_texture_size = 512; 1690 int dummy_max_texture_size = 512;
1573 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1691 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1574 parent->bounds(), 1692 parent->bounds(),
1693 gfx::Transform(),
1575 1.f, 1694 1.f,
1576 1.f, 1695 1.f,
1577 NULL, 1696 NULL,
1578 dummy_max_texture_size, 1697 dummy_max_texture_size,
1579 false, 1698 false,
1580 true, // can_adjust_raster_scale 1699 true, // can_adjust_raster_scale
1581 &render_surface_layer_list); 1700 &render_surface_layer_list);
1582 1701
1583 // Since the layer is transparent, render_surface1->render_surface() should 1702 // Since the layer is transparent, render_surface1->render_surface() should
1584 // not have gotten added anywhere. Also, the drawable content rect should not 1703 // 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); 1743 render_surface1->AddChild(child);
1625 1744
1626 // Sanity check before the actual test 1745 // Sanity check before the actual test
1627 EXPECT_FALSE(parent->render_surface()); 1746 EXPECT_FALSE(parent->render_surface());
1628 EXPECT_FALSE(render_surface1->render_surface()); 1747 EXPECT_FALSE(render_surface1->render_surface());
1629 1748
1630 LayerList render_surface_layer_list; 1749 LayerList render_surface_layer_list;
1631 int dummy_max_texture_size = 512; 1750 int dummy_max_texture_size = 512;
1632 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1751 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1633 parent->bounds(), 1752 parent->bounds(),
1753 gfx::Transform(),
1634 1.f, 1754 1.f,
1635 1.f, 1755 1.f,
1636 NULL, 1756 NULL,
1637 dummy_max_texture_size, 1757 dummy_max_texture_size,
1638 false, 1758 false,
1639 true, // can_adjust_raster_scale 1759 true, // can_adjust_raster_scale
1640 &render_surface_layer_list); 1760 &render_surface_layer_list);
1641 1761
1642 // The root layer always creates a render surface 1762 // The root layer always creates a render surface
1643 EXPECT_TRUE(parent->render_surface()); 1763 EXPECT_TRUE(parent->render_surface());
1644 EXPECT_TRUE(render_surface1->render_surface()); 1764 EXPECT_TRUE(render_surface1->render_surface());
1645 EXPECT_EQ(2U, render_surface_layer_list.size()); 1765 EXPECT_EQ(2U, render_surface_layer_list.size());
1646 1766
1647 render_surface_layer_list.clear(); 1767 render_surface_layer_list.clear();
1648 render_surface1->SetForceRenderSurface(false); 1768 render_surface1->SetForceRenderSurface(false);
1649 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1769 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1650 parent->bounds(), 1770 parent->bounds(),
1771 gfx::Transform(),
1651 1.f, 1772 1.f,
1652 1.f, 1773 1.f,
1653 NULL, 1774 NULL,
1654 dummy_max_texture_size, 1775 dummy_max_texture_size,
1655 false, 1776 false,
1656 true, // can_adjust_raster_scale 1777 true, // can_adjust_raster_scale
1657 &render_surface_layer_list); 1778 &render_surface_layer_list);
1658 EXPECT_TRUE(parent->render_surface()); 1779 EXPECT_TRUE(parent->render_surface());
1659 EXPECT_FALSE(render_surface1->render_surface()); 1780 EXPECT_FALSE(render_surface1->render_surface());
1660 EXPECT_EQ(1U, render_surface_layer_list.size()); 1781 EXPECT_EQ(1U, render_surface_layer_list.size());
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1742 child->SetMasksToBounds(true); 1863 child->SetMasksToBounds(true);
1743 child->SetOpacity(0.4f); 1864 child->SetOpacity(0.4f);
1744 child->SetForceRenderSurface(true); 1865 child->SetForceRenderSurface(true);
1745 grand_child->SetOpacity(0.5f); 1866 grand_child->SetOpacity(0.5f);
1746 great_grand_child->SetOpacity(0.4f); 1867 great_grand_child->SetOpacity(0.4f);
1747 1868
1748 LayerList render_surface_layer_list; 1869 LayerList render_surface_layer_list;
1749 int dummy_max_texture_size = 512; 1870 int dummy_max_texture_size = 512;
1750 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1871 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1751 parent->bounds(), 1872 parent->bounds(),
1873 gfx::Transform(),
1752 1.f, 1874 1.f,
1753 1.f, 1875 1.f,
1754 NULL, 1876 NULL,
1755 dummy_max_texture_size, 1877 dummy_max_texture_size,
1756 false, 1878 false,
1757 true, // can_adjust_raster_scale 1879 true, // can_adjust_raster_scale
1758 &render_surface_layer_list); 1880 &render_surface_layer_list);
1759 1881
1760 ASSERT_EQ(2U, render_surface_layer_list.size()); 1882 ASSERT_EQ(2U, render_surface_layer_list.size());
1761 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id()); 1883 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); 1945 parent->SetMasksToBounds(true);
1824 child->SetOpacity(0.4f); 1946 child->SetOpacity(0.4f);
1825 child->SetForceRenderSurface(true); 1947 child->SetForceRenderSurface(true);
1826 grand_child->SetOpacity(0.4f); 1948 grand_child->SetOpacity(0.4f);
1827 grand_child->SetForceRenderSurface(true); 1949 grand_child->SetForceRenderSurface(true);
1828 1950
1829 LayerList render_surface_layer_list; 1951 LayerList render_surface_layer_list;
1830 int dummy_max_texture_size = 512; 1952 int dummy_max_texture_size = 512;
1831 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1953 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1832 parent->bounds(), 1954 parent->bounds(),
1955 gfx::Transform(),
1833 1.f, 1956 1.f,
1834 1.f, 1957 1.f,
1835 NULL, 1958 NULL,
1836 dummy_max_texture_size, 1959 dummy_max_texture_size,
1837 false, 1960 false,
1838 true, // can_adjust_raster_scale 1961 true, // can_adjust_raster_scale
1839 &render_surface_layer_list); 1962 &render_surface_layer_list);
1840 1963
1841 // Without an animation, we should cull child and grand_child from the 1964 // Without an animation, we should cull child and grand_child from the
1842 // render_surface_layer_list. 1965 // render_surface_layer_list.
1843 ASSERT_EQ(1U, render_surface_layer_list.size()); 1966 ASSERT_EQ(1U, render_surface_layer_list.size());
1844 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id()); 1967 EXPECT_EQ(parent->id(), render_surface_layer_list[0]->id());
1845 1968
1846 // Now put an animating transform on child. 1969 // Now put an animating transform on child.
1847 AddAnimatedTransformToController( 1970 AddAnimatedTransformToController(
1848 child->layer_animation_controller(), 10.0, 30, 0); 1971 child->layer_animation_controller(), 10.0, 30, 0);
1849 1972
1850 parent->ClearRenderSurface(); 1973 parent->ClearRenderSurface();
1851 child->ClearRenderSurface(); 1974 child->ClearRenderSurface();
1852 grand_child->ClearRenderSurface(); 1975 grand_child->ClearRenderSurface();
1853 render_surface_layer_list.clear(); 1976 render_surface_layer_list.clear();
1854 1977
1855 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 1978 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
1856 parent->bounds(), 1979 parent->bounds(),
1980 gfx::Transform(),
1857 1.f, 1981 1.f,
1858 1.f, 1982 1.f,
1859 NULL, 1983 NULL,
1860 dummy_max_texture_size, 1984 dummy_max_texture_size,
1861 false, 1985 false,
1862 true, // can_adjust_raster_scale 1986 true, // can_adjust_raster_scale
1863 &render_surface_layer_list); 1987 &render_surface_layer_list);
1864 1988
1865 // With an animating transform, we should keep child and grand_child in the 1989 // With an animating transform, we should keep child and grand_child in the
1866 // render_surface_layer_list. 1990 // render_surface_layer_list.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1951 gfx::PointF(), 2075 gfx::PointF(),
1952 gfx::PointF(), 2076 gfx::PointF(),
1953 gfx::Size(100, 100), 2077 gfx::Size(100, 100),
1954 false); 2078 false);
1955 2079
1956 // Case 1: nothing is clipped except the root render surface. 2080 // Case 1: nothing is clipped except the root render surface.
1957 LayerList render_surface_layer_list; 2081 LayerList render_surface_layer_list;
1958 int dummy_max_texture_size = 512; 2082 int dummy_max_texture_size = 512;
1959 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 2083 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1960 parent->bounds(), 2084 parent->bounds(),
2085 gfx::Transform(),
1961 1.f, 2086 1.f,
1962 1.f, 2087 1.f,
1963 NULL, 2088 NULL,
1964 dummy_max_texture_size, 2089 dummy_max_texture_size,
1965 false, 2090 false,
1966 true, // can_adjust_raster_scale 2091 true, // can_adjust_raster_scale
1967 &render_surface_layer_list); 2092 &render_surface_layer_list);
1968 2093
1969 ASSERT_TRUE(root->render_surface()); 2094 ASSERT_TRUE(root->render_surface());
1970 ASSERT_TRUE(child2->render_surface()); 2095 ASSERT_TRUE(child2->render_surface());
1971 2096
1972 EXPECT_FALSE(root->is_clipped()); 2097 EXPECT_FALSE(root->is_clipped());
1973 EXPECT_TRUE(root->render_surface()->is_clipped()); 2098 EXPECT_TRUE(root->render_surface()->is_clipped());
1974 EXPECT_FALSE(parent->is_clipped()); 2099 EXPECT_FALSE(parent->is_clipped());
1975 EXPECT_FALSE(child1->is_clipped()); 2100 EXPECT_FALSE(child1->is_clipped());
1976 EXPECT_FALSE(child2->is_clipped()); 2101 EXPECT_FALSE(child2->is_clipped());
1977 EXPECT_FALSE(child2->render_surface()->is_clipped()); 2102 EXPECT_FALSE(child2->render_surface()->is_clipped());
1978 EXPECT_FALSE(grand_child->is_clipped()); 2103 EXPECT_FALSE(grand_child->is_clipped());
1979 EXPECT_FALSE(leaf_node1->is_clipped()); 2104 EXPECT_FALSE(leaf_node1->is_clipped());
1980 EXPECT_FALSE(leaf_node2->is_clipped()); 2105 EXPECT_FALSE(leaf_node2->is_clipped());
1981 2106
1982 // Case 2: parent masksToBounds, so the parent, child1, and child2's 2107 // Case 2: parent masksToBounds, so the parent, child1, and child2's
1983 // surface are clipped. But layers that contribute to child2's surface are 2108 // surface are clipped. But layers that contribute to child2's surface are
1984 // not clipped explicitly because child2's surface already accounts for 2109 // not clipped explicitly because child2's surface already accounts for
1985 // that clip. 2110 // that clip.
1986 render_surface_layer_list.clear(); 2111 render_surface_layer_list.clear();
1987 parent->SetMasksToBounds(true); 2112 parent->SetMasksToBounds(true);
1988 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 2113 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
1989 parent->bounds(), 2114 parent->bounds(),
2115 gfx::Transform(),
1990 1.f, 2116 1.f,
1991 1.f, 2117 1.f,
1992 NULL, 2118 NULL,
1993 dummy_max_texture_size, 2119 dummy_max_texture_size,
1994 false, 2120 false,
1995 true, // can_adjust_raster_scale 2121 true, // can_adjust_raster_scale
1996 &render_surface_layer_list); 2122 &render_surface_layer_list);
1997 2123
1998 ASSERT_TRUE(root->render_surface()); 2124 ASSERT_TRUE(root->render_surface());
1999 ASSERT_TRUE(child2->render_surface()); 2125 ASSERT_TRUE(child2->render_surface());
2000 2126
2001 EXPECT_FALSE(root->is_clipped()); 2127 EXPECT_FALSE(root->is_clipped());
2002 EXPECT_TRUE(root->render_surface()->is_clipped()); 2128 EXPECT_TRUE(root->render_surface()->is_clipped());
2003 EXPECT_TRUE(parent->is_clipped()); 2129 EXPECT_TRUE(parent->is_clipped());
2004 EXPECT_TRUE(child1->is_clipped()); 2130 EXPECT_TRUE(child1->is_clipped());
2005 EXPECT_FALSE(child2->is_clipped()); 2131 EXPECT_FALSE(child2->is_clipped());
2006 EXPECT_TRUE(child2->render_surface()->is_clipped()); 2132 EXPECT_TRUE(child2->render_surface()->is_clipped());
2007 EXPECT_TRUE(grand_child->is_clipped()); 2133 EXPECT_TRUE(grand_child->is_clipped());
2008 EXPECT_TRUE(leaf_node1->is_clipped()); 2134 EXPECT_TRUE(leaf_node1->is_clipped());
2009 EXPECT_FALSE(leaf_node2->is_clipped()); 2135 EXPECT_FALSE(leaf_node2->is_clipped());
2010 2136
2011 // Case 3: child2 masksToBounds. The layer and subtree are clipped, and 2137 // Case 3: child2 masksToBounds. The layer and subtree are clipped, and
2012 // child2's render surface is not clipped. 2138 // child2's render surface is not clipped.
2013 render_surface_layer_list.clear(); 2139 render_surface_layer_list.clear();
2014 parent->SetMasksToBounds(false); 2140 parent->SetMasksToBounds(false);
2015 child2->SetMasksToBounds(true); 2141 child2->SetMasksToBounds(true);
2016 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 2142 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
2017 parent->bounds(), 2143 parent->bounds(),
2144 gfx::Transform(),
2018 1.f, 2145 1.f,
2019 1.f, 2146 1.f,
2020 NULL, 2147 NULL,
2021 dummy_max_texture_size, 2148 dummy_max_texture_size,
2022 false, 2149 false,
2023 true, // can_adjust_raster_scale 2150 true, // can_adjust_raster_scale
2024 &render_surface_layer_list); 2151 &render_surface_layer_list);
2025 2152
2026 ASSERT_TRUE(root->render_surface()); 2153 ASSERT_TRUE(root->render_surface());
2027 ASSERT_TRUE(child2->render_surface()); 2154 ASSERT_TRUE(child2->render_surface());
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
2116 child->SetOpacity(0.4f); 2243 child->SetOpacity(0.4f);
2117 grand_child1->SetOpacity(0.5f); 2244 grand_child1->SetOpacity(0.5f);
2118 grand_child2->SetOpacity(0.5f); 2245 grand_child2->SetOpacity(0.5f);
2119 grand_child3->SetOpacity(0.5f); 2246 grand_child3->SetOpacity(0.5f);
2120 grand_child4->SetOpacity(0.5f); 2247 grand_child4->SetOpacity(0.5f);
2121 2248
2122 LayerList render_surface_layer_list; 2249 LayerList render_surface_layer_list;
2123 int dummy_max_texture_size = 512; 2250 int dummy_max_texture_size = 512;
2124 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 2251 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
2125 parent->bounds(), 2252 parent->bounds(),
2253 gfx::Transform(),
2126 1.f, 2254 1.f,
2127 1.f, 2255 1.f,
2128 NULL, 2256 NULL,
2129 dummy_max_texture_size, 2257 dummy_max_texture_size,
2130 false, 2258 false,
2131 true, // can_adjust_raster_scale 2259 true, // can_adjust_raster_scale
2132 &render_surface_layer_list); 2260 &render_surface_layer_list);
2133 2261
2134 EXPECT_RECT_EQ(gfx::Rect(5, 5, 10, 10), 2262 EXPECT_RECT_EQ(gfx::Rect(5, 5, 10, 10),
2135 grand_child1->drawable_content_rect()); 2263 grand_child1->drawable_content_rect());
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
2261 grand_child2->SetForceRenderSurface(true); 2389 grand_child2->SetForceRenderSurface(true);
2262 grand_child3->SetOpacity(0.5f); 2390 grand_child3->SetOpacity(0.5f);
2263 grand_child3->SetForceRenderSurface(true); 2391 grand_child3->SetForceRenderSurface(true);
2264 grand_child4->SetOpacity(0.5f); 2392 grand_child4->SetOpacity(0.5f);
2265 grand_child4->SetForceRenderSurface(true); 2393 grand_child4->SetForceRenderSurface(true);
2266 2394
2267 LayerList render_surface_layer_list; 2395 LayerList render_surface_layer_list;
2268 int dummy_max_texture_size = 512; 2396 int dummy_max_texture_size = 512;
2269 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 2397 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
2270 parent->bounds(), 2398 parent->bounds(),
2399 gfx::Transform(),
2271 1.f, 2400 1.f,
2272 1.f, 2401 1.f,
2273 NULL, 2402 NULL,
2274 dummy_max_texture_size, 2403 dummy_max_texture_size,
2275 false, 2404 false,
2276 true, // can_adjust_raster_scale 2405 true, // can_adjust_raster_scale
2277 &render_surface_layer_list); 2406 &render_surface_layer_list);
2278 2407
2279 ASSERT_TRUE(grand_child1->render_surface()); 2408 ASSERT_TRUE(grand_child1->render_surface());
2280 ASSERT_TRUE(grand_child2->render_surface()); 2409 ASSERT_TRUE(grand_child2->render_surface());
(...skipping 1310 matching lines...) Expand 10 before | Expand all | Expand 10 after
3591 identity_matrix, 3720 identity_matrix,
3592 gfx::PointF(), 3721 gfx::PointF(),
3593 gfx::PointF(), 3722 gfx::PointF(),
3594 gfx::Size(100, 100), 3723 gfx::Size(100, 100),
3595 false); 3724 false);
3596 3725
3597 LayerList render_surface_layer_list; 3726 LayerList render_surface_layer_list;
3598 int dummy_max_texture_size = 512; 3727 int dummy_max_texture_size = 512;
3599 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 3728 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
3600 parent->bounds(), 3729 parent->bounds(),
3730 gfx::Transform(),
3601 1.f, 3731 1.f,
3602 1.f, 3732 1.f,
3603 NULL, 3733 NULL,
3604 dummy_max_texture_size, 3734 dummy_max_texture_size,
3605 false, 3735 false,
3606 true, // can_adjust_raster_scale 3736 true, // can_adjust_raster_scale
3607 &render_surface_layer_list); 3737 &render_surface_layer_list);
3608 3738
3609 // Verify which render surfaces were created. 3739 // Verify which render surfaces were created.
3610 EXPECT_FALSE(front_facing_child->render_surface()); 3740 EXPECT_FALSE(front_facing_child->render_surface());
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
3785 identity_matrix, 3915 identity_matrix,
3786 gfx::PointF(), 3916 gfx::PointF(),
3787 gfx::PointF(), 3917 gfx::PointF(),
3788 gfx::Size(100, 100), 3918 gfx::Size(100, 100),
3789 false); 3919 false);
3790 3920
3791 LayerList render_surface_layer_list; 3921 LayerList render_surface_layer_list;
3792 int dummy_max_texture_size = 512; 3922 int dummy_max_texture_size = 512;
3793 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 3923 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
3794 parent->bounds(), 3924 parent->bounds(),
3925 gfx::Transform(),
3795 1.f, 3926 1.f,
3796 1.f, 3927 1.f,
3797 NULL, 3928 NULL,
3798 dummy_max_texture_size, 3929 dummy_max_texture_size,
3799 false, 3930 false,
3800 true, // can_adjust_raster_scale 3931 true, // can_adjust_raster_scale
3801 &render_surface_layer_list); 3932 &render_surface_layer_list);
3802 3933
3803 // Verify which render surfaces were created. 3934 // Verify which render surfaces were created.
3804 EXPECT_FALSE(front_facing_child->render_surface()); 3935 EXPECT_FALSE(front_facing_child->render_surface());
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
3925 identity_matrix, 4056 identity_matrix,
3926 gfx::PointF(), 4057 gfx::PointF(),
3927 gfx::PointF(), 4058 gfx::PointF(),
3928 gfx::Size(100, 100), 4059 gfx::Size(100, 100),
3929 false); 4060 false);
3930 4061
3931 LayerList render_surface_layer_list; 4062 LayerList render_surface_layer_list;
3932 int dummy_max_texture_size = 512; 4063 int dummy_max_texture_size = 512;
3933 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 4064 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
3934 parent->bounds(), 4065 parent->bounds(),
4066 gfx::Transform(),
3935 1.f, 4067 1.f,
3936 1.f, 4068 1.f,
3937 NULL, 4069 NULL,
3938 dummy_max_texture_size, 4070 dummy_max_texture_size,
3939 false, 4071 false,
3940 true, // can_adjust_raster_scale 4072 true, // can_adjust_raster_scale
3941 &render_surface_layer_list); 4073 &render_surface_layer_list);
3942 4074
3943 EXPECT_FALSE(child->render_surface()); 4075 EXPECT_FALSE(child->render_surface());
3944 EXPECT_TRUE(animating_surface->render_surface()); 4076 EXPECT_TRUE(animating_surface->render_surface());
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
4053 identity_matrix, 4185 identity_matrix,
4054 gfx::PointF(), 4186 gfx::PointF(),
4055 gfx::PointF(), 4187 gfx::PointF(),
4056 gfx::Size(100, 100), 4188 gfx::Size(100, 100),
4057 false); 4189 false);
4058 4190
4059 LayerList render_surface_layer_list; 4191 LayerList render_surface_layer_list;
4060 int dummy_max_texture_size = 512; 4192 int dummy_max_texture_size = 512;
4061 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 4193 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
4062 parent->bounds(), 4194 parent->bounds(),
4195 gfx::Transform(),
4063 1.f, 4196 1.f,
4064 1.f, 4197 1.f,
4065 NULL, 4198 NULL,
4066 dummy_max_texture_size, 4199 dummy_max_texture_size,
4067 false, 4200 false,
4068 true, // can_adjust_raster_scale 4201 true, // can_adjust_raster_scale
4069 &render_surface_layer_list); 4202 &render_surface_layer_list);
4070 4203
4071 // Verify which render surfaces were created. 4204 // Verify which render surfaces were created.
4072 EXPECT_TRUE(front_facing_surface->render_surface()); 4205 EXPECT_TRUE(front_facing_surface->render_surface());
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
4131 anchor, 4264 anchor,
4132 position, 4265 position,
4133 bounds, 4266 bounds,
4134 false); 4267 false);
4135 root->SetDrawsContent(true); 4268 root->SetDrawsContent(true);
4136 4269
4137 LayerImplList render_surface_layer_list; 4270 LayerImplList render_surface_layer_list;
4138 int dummy_max_texture_size = 512; 4271 int dummy_max_texture_size = 512;
4139 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4272 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4140 root->bounds(), 4273 root->bounds(),
4274 gfx::Transform(),
4141 1.f, 4275 1.f,
4142 1.f, 4276 1.f,
4143 NULL, 4277 NULL,
4144 dummy_max_texture_size, 4278 dummy_max_texture_size,
4145 false, 4279 false,
4146 true, // can_adjust_raster_scale 4280 true, // can_adjust_raster_scale
4147 &render_surface_layer_list); 4281 &render_surface_layer_list);
4148 4282
4149 // Sanity check the scenario we just created. 4283 // Sanity check the scenario we just created.
4150 ASSERT_EQ(1u, render_surface_layer_list.size()); 4284 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
4207 false); 4341 false);
4208 hud->SetDrawsContent(true); 4342 hud->SetDrawsContent(true);
4209 4343
4210 host_impl.active_tree()->set_hud_layer(hud.get()); 4344 host_impl.active_tree()->set_hud_layer(hud.get());
4211 root->AddChild(hud.PassAs<LayerImpl>()); 4345 root->AddChild(hud.PassAs<LayerImpl>());
4212 4346
4213 LayerImplList render_surface_layer_list; 4347 LayerImplList render_surface_layer_list;
4214 int dummy_max_texture_size = 512; 4348 int dummy_max_texture_size = 512;
4215 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4349 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4216 hud_bounds, 4350 hud_bounds,
4351 gfx::Transform(),
4217 1.f, 4352 1.f,
4218 1.f, 4353 1.f,
4219 NULL, 4354 NULL,
4220 dummy_max_texture_size, 4355 dummy_max_texture_size,
4221 false, 4356 false,
4222 true, // can_adjust_raster_scale 4357 true, // can_adjust_raster_scale
4223 &render_surface_layer_list); 4358 &render_surface_layer_list);
4224 4359
4225 // Sanity check the scenario we just created. 4360 // Sanity check the scenario we just created.
4226 ASSERT_EQ(1u, render_surface_layer_list.size()); 4361 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
4275 anchor, 4410 anchor,
4276 position, 4411 position,
4277 bounds, 4412 bounds,
4278 false); 4413 false);
4279 root->SetDrawsContent(true); 4414 root->SetDrawsContent(true);
4280 4415
4281 LayerImplList render_surface_layer_list; 4416 LayerImplList render_surface_layer_list;
4282 int dummy_max_texture_size = 512; 4417 int dummy_max_texture_size = 512;
4283 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4418 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4284 root->bounds(), 4419 root->bounds(),
4420 gfx::Transform(),
4285 1.f, 4421 1.f,
4286 1.f, 4422 1.f,
4287 NULL, 4423 NULL,
4288 dummy_max_texture_size, 4424 dummy_max_texture_size,
4289 false, 4425 false,
4290 true, // can_adjust_raster_scale 4426 true, // can_adjust_raster_scale
4291 &render_surface_layer_list); 4427 &render_surface_layer_list);
4292 4428
4293 // Sanity check the scenario we just created. 4429 // Sanity check the scenario we just created.
4294 ASSERT_EQ(1u, render_surface_layer_list.size()); 4430 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
4352 anchor, 4488 anchor,
4353 position, 4489 position,
4354 bounds, 4490 bounds,
4355 false); 4491 false);
4356 root->SetDrawsContent(true); 4492 root->SetDrawsContent(true);
4357 4493
4358 LayerImplList render_surface_layer_list; 4494 LayerImplList render_surface_layer_list;
4359 int dummy_max_texture_size = 512; 4495 int dummy_max_texture_size = 512;
4360 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4496 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4361 root->bounds(), 4497 root->bounds(),
4498 gfx::Transform(),
4362 1.f, 4499 1.f,
4363 1.f, 4500 1.f,
4364 NULL, 4501 NULL,
4365 dummy_max_texture_size, 4502 dummy_max_texture_size,
4366 false, 4503 false,
4367 true, // can_adjust_raster_scale 4504 true, // can_adjust_raster_scale
4368 &render_surface_layer_list); 4505 &render_surface_layer_list);
4369 4506
4370 // Sanity check the scenario we just created. 4507 // Sanity check the scenario we just created.
4371 ASSERT_EQ(1u, render_surface_layer_list.size()); 4508 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
4418 anchor, 4555 anchor,
4419 position, 4556 position,
4420 bounds, 4557 bounds,
4421 false); 4558 false);
4422 root->SetDrawsContent(true); 4559 root->SetDrawsContent(true);
4423 4560
4424 LayerImplList render_surface_layer_list; 4561 LayerImplList render_surface_layer_list;
4425 int dummy_max_texture_size = 512; 4562 int dummy_max_texture_size = 512;
4426 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4563 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4427 root->bounds(), 4564 root->bounds(),
4565 gfx::Transform(),
4428 1.f, 4566 1.f,
4429 1.f, 4567 1.f,
4430 NULL, 4568 NULL,
4431 dummy_max_texture_size, 4569 dummy_max_texture_size,
4432 false, 4570 false,
4433 true, // can_adjust_raster_scale 4571 true, // can_adjust_raster_scale
4434 &render_surface_layer_list); 4572 &render_surface_layer_list);
4435 4573
4436 // Sanity check the scenario we just created. 4574 // Sanity check the scenario we just created.
4437 ASSERT_EQ(1u, render_surface_layer_list.size()); 4575 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
4497 anchor, 4635 anchor,
4498 position, 4636 position,
4499 bounds, 4637 bounds,
4500 false); 4638 false);
4501 root->SetDrawsContent(true); 4639 root->SetDrawsContent(true);
4502 4640
4503 LayerImplList render_surface_layer_list; 4641 LayerImplList render_surface_layer_list;
4504 int dummy_max_texture_size = 512; 4642 int dummy_max_texture_size = 512;
4505 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4643 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4506 root->bounds(), 4644 root->bounds(),
4645 gfx::Transform(),
4507 1.f, 4646 1.f,
4508 1.f, 4647 1.f,
4509 NULL, 4648 NULL,
4510 dummy_max_texture_size, 4649 dummy_max_texture_size,
4511 false, 4650 false,
4512 true, // can_adjust_raster_scale 4651 true, // can_adjust_raster_scale
4513 &render_surface_layer_list); 4652 &render_surface_layer_list);
4514 4653
4515 // Sanity check the scenario we just created. 4654 // Sanity check the scenario we just created.
4516 ASSERT_EQ(1u, render_surface_layer_list.size()); 4655 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); 4726 test_layer->SetContentsScale(2, 2);
4588 4727
4589 test_layer->SetDrawsContent(true); 4728 test_layer->SetDrawsContent(true);
4590 root->AddChild(test_layer.Pass()); 4729 root->AddChild(test_layer.Pass());
4591 } 4730 }
4592 4731
4593 LayerImplList render_surface_layer_list; 4732 LayerImplList render_surface_layer_list;
4594 int dummy_max_texture_size = 512; 4733 int dummy_max_texture_size = 512;
4595 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4734 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4596 root->bounds(), 4735 root->bounds(),
4736 gfx::Transform(),
4597 1.f, 4737 1.f,
4598 1.f, 4738 1.f,
4599 NULL, 4739 NULL,
4600 dummy_max_texture_size, 4740 dummy_max_texture_size,
4601 false, 4741 false,
4602 true, // can_adjust_raster_scale 4742 true, // can_adjust_raster_scale
4603 &render_surface_layer_list); 4743 &render_surface_layer_list);
4604 4744
4605 // Sanity check the scenario we just created. 4745 // Sanity check the scenario we just created.
4606 // The visible content rect for test_layer is actually 100x100, even though 4746 // 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); 4828 false);
4689 child->SetDrawsContent(true); 4829 child->SetDrawsContent(true);
4690 clipping_layer->AddChild(child.Pass()); 4830 clipping_layer->AddChild(child.Pass());
4691 root->AddChild(clipping_layer.Pass()); 4831 root->AddChild(clipping_layer.Pass());
4692 } 4832 }
4693 4833
4694 LayerImplList render_surface_layer_list; 4834 LayerImplList render_surface_layer_list;
4695 int dummy_max_texture_size = 512; 4835 int dummy_max_texture_size = 512;
4696 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4836 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4697 root->bounds(), 4837 root->bounds(),
4838 gfx::Transform(),
4698 1.f, 4839 1.f,
4699 1.f, 4840 1.f,
4700 NULL, 4841 NULL,
4701 dummy_max_texture_size, 4842 dummy_max_texture_size,
4702 false, 4843 false,
4703 true, // can_adjust_raster_scale 4844 true, // can_adjust_raster_scale
4704 &render_surface_layer_list); 4845 &render_surface_layer_list);
4705 4846
4706 // Sanity check the scenario we just created. 4847 // Sanity check the scenario we just created.
4707 ASSERT_EQ(1u, render_surface_layer_list.size()); 4848 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
4822 4963
4823 grand_child->AddChild(rotated_leaf.Pass()); 4964 grand_child->AddChild(rotated_leaf.Pass());
4824 child->AddChild(grand_child.Pass()); 4965 child->AddChild(grand_child.Pass());
4825 root->AddChild(child.Pass()); 4966 root->AddChild(child.Pass());
4826 } 4967 }
4827 4968
4828 LayerImplList render_surface_layer_list; 4969 LayerImplList render_surface_layer_list;
4829 int dummy_max_texture_size = 512; 4970 int dummy_max_texture_size = 512;
4830 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 4971 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4831 root->bounds(), 4972 root->bounds(),
4973 gfx::Transform(),
4832 1.f, 4974 1.f,
4833 1.f, 4975 1.f,
4834 NULL, 4976 NULL,
4835 dummy_max_texture_size, 4977 dummy_max_texture_size,
4836 false, 4978 false,
4837 true, // can_adjust_raster_scale 4979 true, // can_adjust_raster_scale
4838 &render_surface_layer_list); 4980 &render_surface_layer_list);
4839 4981
4840 // Sanity check the scenario we just created. 4982 // Sanity check the scenario we just created.
4841 // The grand_child is expected to create a render surface because it 4983 // 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); 5091 false);
4950 child->SetDrawsContent(true); 5092 child->SetDrawsContent(true);
4951 intermediate_layer->AddChild(child.Pass()); 5093 intermediate_layer->AddChild(child.Pass());
4952 root->AddChild(intermediate_layer.Pass()); 5094 root->AddChild(intermediate_layer.Pass());
4953 } 5095 }
4954 5096
4955 LayerImplList render_surface_layer_list; 5097 LayerImplList render_surface_layer_list;
4956 int dummy_max_texture_size = 512; 5098 int dummy_max_texture_size = 512;
4957 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5099 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
4958 root->bounds(), 5100 root->bounds(),
5101 gfx::Transform(),
4959 1.f, 5102 1.f,
4960 1.f, 5103 1.f,
4961 NULL, 5104 NULL,
4962 dummy_max_texture_size, 5105 dummy_max_texture_size,
4963 false, 5106 false,
4964 true, // can_adjust_raster_scale 5107 true, // can_adjust_raster_scale
4965 &render_surface_layer_list); 5108 &render_surface_layer_list);
4966 5109
4967 // Sanity check the scenario we just created. 5110 // Sanity check the scenario we just created.
4968 ASSERT_EQ(1u, render_surface_layer_list.size()); 5111 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
5067 } 5210 }
5068 5211
5069 LayerImpl* child1 = root->children()[0]; 5212 LayerImpl* child1 = root->children()[0];
5070 LayerImpl* child2 = root->children()[1]; 5213 LayerImpl* child2 = root->children()[1];
5071 LayerImpl* grand_child1 = child1->children()[0]; 5214 LayerImpl* grand_child1 = child1->children()[0];
5072 5215
5073 LayerImplList render_surface_layer_list; 5216 LayerImplList render_surface_layer_list;
5074 int dummy_max_texture_size = 512; 5217 int dummy_max_texture_size = 512;
5075 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5218 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5076 root->bounds(), 5219 root->bounds(),
5220 gfx::Transform(),
5077 1.f, 5221 1.f,
5078 1.f, 5222 1.f,
5079 NULL, 5223 NULL,
5080 dummy_max_texture_size, 5224 dummy_max_texture_size,
5081 false, 5225 false,
5082 true, // can_adjust_raster_scale 5226 true, // can_adjust_raster_scale
5083 &render_surface_layer_list); 5227 &render_surface_layer_list);
5084 5228
5085 // Sanity check the scenario we just created. 5229 // Sanity check the scenario we just created.
5086 ASSERT_TRUE(child1); 5230 ASSERT_TRUE(child1);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
5221 } 5365 }
5222 5366
5223 LayerImpl* child1 = root->children()[0]; 5367 LayerImpl* child1 = root->children()[0];
5224 LayerImpl* child2 = root->children()[1]; 5368 LayerImpl* child2 = root->children()[1];
5225 LayerImpl* grand_child1 = child1->children()[0]; 5369 LayerImpl* grand_child1 = child1->children()[0];
5226 5370
5227 LayerImplList render_surface_layer_list; 5371 LayerImplList render_surface_layer_list;
5228 int dummy_max_texture_size = 512; 5372 int dummy_max_texture_size = 512;
5229 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5373 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5230 root->bounds(), 5374 root->bounds(),
5375 gfx::Transform(),
5231 1.f, 5376 1.f,
5232 1.f, 5377 1.f,
5233 NULL, 5378 NULL,
5234 dummy_max_texture_size, 5379 dummy_max_texture_size,
5235 false, 5380 false,
5236 true, // can_adjust_raster_scale 5381 true, // can_adjust_raster_scale
5237 &render_surface_layer_list); 5382 &render_surface_layer_list);
5238 5383
5239 // Sanity check the scenario we just created. 5384 // Sanity check the scenario we just created.
5240 ASSERT_TRUE(child1); 5385 ASSERT_TRUE(child1);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
5339 anchor, 5484 anchor,
5340 position, 5485 position,
5341 bounds, 5486 bounds,
5342 false); 5487 false);
5343 root->SetDrawsContent(true); 5488 root->SetDrawsContent(true);
5344 5489
5345 LayerImplList render_surface_layer_list; 5490 LayerImplList render_surface_layer_list;
5346 int dummy_max_texture_size = 512; 5491 int dummy_max_texture_size = 512;
5347 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5492 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5348 root->bounds(), 5493 root->bounds(),
5494 gfx::Transform(),
5349 1.f, 5495 1.f,
5350 1.f, 5496 1.f,
5351 NULL, 5497 NULL,
5352 dummy_max_texture_size, 5498 dummy_max_texture_size,
5353 false, 5499 false,
5354 true, // can_adjust_raster_scale 5500 true, // can_adjust_raster_scale
5355 &render_surface_layer_list); 5501 &render_surface_layer_list);
5356 5502
5357 // Sanity check the scenario we just created. 5503 // Sanity check the scenario we just created.
5358 ASSERT_EQ(1u, render_surface_layer_list.size()); 5504 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
5437 position, 5583 position,
5438 bounds, 5584 bounds,
5439 false); 5585 false);
5440 root->SetDrawsContent(true); 5586 root->SetDrawsContent(true);
5441 root->SetTouchEventHandlerRegion(touch_handler_region); 5587 root->SetTouchEventHandlerRegion(touch_handler_region);
5442 5588
5443 LayerImplList render_surface_layer_list; 5589 LayerImplList render_surface_layer_list;
5444 int dummy_max_texture_size = 512; 5590 int dummy_max_texture_size = 512;
5445 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5591 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5446 root->bounds(), 5592 root->bounds(),
5593 gfx::Transform(),
5447 1.f, 5594 1.f,
5448 1.f, 5595 1.f,
5449 NULL, 5596 NULL,
5450 dummy_max_texture_size, 5597 dummy_max_texture_size,
5451 false, 5598 false,
5452 true, // can_adjust_raster_scale 5599 true, // can_adjust_raster_scale
5453 &render_surface_layer_list); 5600 &render_surface_layer_list);
5454 5601
5455 // Sanity check the scenario we just created. 5602 // Sanity check the scenario we just created.
5456 ASSERT_EQ(1u, render_surface_layer_list.size()); 5603 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
5525 position, 5672 position,
5526 bounds, 5673 bounds,
5527 false); 5674 false);
5528 root->SetDrawsContent(true); 5675 root->SetDrawsContent(true);
5529 root->SetTouchEventHandlerRegion(touch_handler_region); 5676 root->SetTouchEventHandlerRegion(touch_handler_region);
5530 5677
5531 LayerImplList render_surface_layer_list; 5678 LayerImplList render_surface_layer_list;
5532 int dummy_max_texture_size = 512; 5679 int dummy_max_texture_size = 512;
5533 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5680 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5534 root->bounds(), 5681 root->bounds(),
5682 gfx::Transform(),
5535 1.f, 5683 1.f,
5536 1.f, 5684 1.f,
5537 NULL, 5685 NULL,
5538 dummy_max_texture_size, 5686 dummy_max_texture_size,
5539 false, 5687 false,
5540 true, // can_adjust_raster_scale 5688 true, // can_adjust_raster_scale
5541 &render_surface_layer_list); 5689 &render_surface_layer_list);
5542 5690
5543 // Sanity check the scenario we just created. 5691 // Sanity check the scenario we just created.
5544 ASSERT_EQ(1u, render_surface_layer_list.size()); 5692 ASSERT_EQ(1u, render_surface_layer_list.size());
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
5631 5779
5632 test_layer->SetDrawsContent(true); 5780 test_layer->SetDrawsContent(true);
5633 test_layer->SetTouchEventHandlerRegion(touch_handler_region); 5781 test_layer->SetTouchEventHandlerRegion(touch_handler_region);
5634 root->AddChild(test_layer.Pass()); 5782 root->AddChild(test_layer.Pass());
5635 } 5783 }
5636 5784
5637 LayerImplList render_surface_layer_list; 5785 LayerImplList render_surface_layer_list;
5638 int dummy_max_texture_size = 512; 5786 int dummy_max_texture_size = 512;
5639 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5787 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5640 root->bounds(), 5788 root->bounds(),
5789 gfx::Transform(),
5641 1.f, 5790 1.f,
5642 1.f, 5791 1.f,
5643 NULL, 5792 NULL,
5644 dummy_max_texture_size, 5793 dummy_max_texture_size,
5645 false, 5794 false,
5646 true, // can_adjust_raster_scale 5795 true, // can_adjust_raster_scale
5647 &render_surface_layer_list); 5796 &render_surface_layer_list);
5648 5797
5649 // Sanity check the scenario we just created. 5798 // Sanity check the scenario we just created.
5650 // The visible content rect for test_layer is actually 100x100, even though 5799 // 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 } 5893 }
5745 5894
5746 LayerImplList render_surface_layer_list; 5895 LayerImplList render_surface_layer_list;
5747 int dummy_max_texture_size = 512; 5896 int dummy_max_texture_size = 512;
5748 float device_scale_factor = 3.f; 5897 float device_scale_factor = 3.f;
5749 float page_scale_factor = 5.f; 5898 float page_scale_factor = 5.f;
5750 gfx::Size scaled_bounds_for_root = gfx::ToCeiledSize( 5899 gfx::Size scaled_bounds_for_root = gfx::ToCeiledSize(
5751 gfx::ScaleSize(root->bounds(), device_scale_factor * page_scale_factor)); 5900 gfx::ScaleSize(root->bounds(), device_scale_factor * page_scale_factor));
5752 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 5901 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5753 scaled_bounds_for_root, 5902 scaled_bounds_for_root,
5903 gfx::Transform(),
5754 device_scale_factor, 5904 device_scale_factor,
5755 page_scale_factor, 5905 page_scale_factor,
5756 root.get(), 5906 root.get(),
5757 dummy_max_texture_size, 5907 dummy_max_texture_size,
5758 false, 5908 false,
5759 true, // can_adjust_raster_scale 5909 true, // can_adjust_raster_scale
5760 &render_surface_layer_list); 5910 &render_surface_layer_list);
5761 5911
5762 // Sanity check the scenario we just created. 5912 // Sanity check the scenario we just created.
5763 // The visible content rect for test_layer is actually 100x100, even though 5913 // 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); 6034 child->SetDrawsContent(true);
5885 child->SetTouchEventHandlerRegion(touch_handler_region); 6035 child->SetTouchEventHandlerRegion(touch_handler_region);
5886 clipping_layer->AddChild(child.Pass()); 6036 clipping_layer->AddChild(child.Pass());
5887 root->AddChild(clipping_layer.Pass()); 6037 root->AddChild(clipping_layer.Pass());
5888 } 6038 }
5889 6039
5890 LayerImplList render_surface_layer_list; 6040 LayerImplList render_surface_layer_list;
5891 int dummy_max_texture_size = 512; 6041 int dummy_max_texture_size = 512;
5892 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6042 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
5893 root->bounds(), 6043 root->bounds(),
6044 gfx::Transform(),
5894 1.f, 6045 1.f,
5895 1.f, 6046 1.f,
5896 NULL, 6047 NULL,
5897 dummy_max_texture_size, 6048 dummy_max_texture_size,
5898 false, 6049 false,
5899 true, // can_adjust_raster_scale 6050 true, // can_adjust_raster_scale
5900 &render_surface_layer_list); 6051 &render_surface_layer_list);
5901 6052
5902 // Sanity check the scenario we just created. 6053 // Sanity check the scenario we just created.
5903 ASSERT_EQ(1u, render_surface_layer_list.size()); 6054 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); 6180 parent->AddChild(child_no_scale);
6030 6181
6031 LayerList render_surface_layer_list; 6182 LayerList render_surface_layer_list;
6032 int dummy_max_texture_size = 512; 6183 int dummy_max_texture_size = 512;
6033 6184
6034 float device_scale_factor = 2.5f; 6185 float device_scale_factor = 2.5f;
6035 float page_scale_factor = 1.f; 6186 float page_scale_factor = 1.f;
6036 6187
6037 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 6188 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
6038 parent->bounds(), 6189 parent->bounds(),
6190 gfx::Transform(),
6039 device_scale_factor, 6191 device_scale_factor,
6040 page_scale_factor, 6192 page_scale_factor,
6041 parent.get(), 6193 parent.get(),
6042 dummy_max_texture_size, 6194 dummy_max_texture_size,
6043 false, 6195 false,
6044 true, // can_adjust_raster_scale 6196 true, // can_adjust_raster_scale
6045 &render_surface_layer_list); 6197 &render_surface_layer_list);
6046 6198
6047 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6199 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6048 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child); 6200 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); 6318 parent->AddChild(scale_surface);
6167 6319
6168 LayerList render_surface_layer_list; 6320 LayerList render_surface_layer_list;
6169 int dummy_max_texture_size = 512; 6321 int dummy_max_texture_size = 512;
6170 6322
6171 float device_scale_factor = 2.5f; 6323 float device_scale_factor = 2.5f;
6172 float page_scale_factor = 3.f; 6324 float page_scale_factor = 3.f;
6173 6325
6174 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 6326 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
6175 parent->bounds(), 6327 parent->bounds(),
6328 gfx::Transform(),
6176 device_scale_factor, 6329 device_scale_factor,
6177 page_scale_factor, 6330 page_scale_factor,
6178 parent.get(), 6331 parent.get(),
6179 dummy_max_texture_size, 6332 dummy_max_texture_size,
6180 false, 6333 false,
6181 true, // can_adjust_raster_scale 6334 true, // can_adjust_raster_scale
6182 &render_surface_layer_list); 6335 &render_surface_layer_list);
6183 6336
6184 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6337 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6185 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6338 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); 6419 parent->AddChild(child_no_scale);
6267 6420
6268 LayerList render_surface_layer_list; 6421 LayerList render_surface_layer_list;
6269 int dummy_max_texture_size = 512; 6422 int dummy_max_texture_size = 512;
6270 6423
6271 float device_scale_factor = 1.7f; 6424 float device_scale_factor = 1.7f;
6272 float page_scale_factor = 1.f; 6425 float page_scale_factor = 1.f;
6273 6426
6274 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 6427 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
6275 parent->bounds(), 6428 parent->bounds(),
6429 gfx::Transform(),
6276 device_scale_factor, 6430 device_scale_factor,
6277 page_scale_factor, 6431 page_scale_factor,
6278 parent.get(), 6432 parent.get(),
6279 dummy_max_texture_size, 6433 dummy_max_texture_size,
6280 false, 6434 false,
6281 true, // can_adjust_raster_scale 6435 true, // can_adjust_raster_scale
6282 &render_surface_layer_list); 6436 &render_surface_layer_list);
6283 6437
6284 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6438 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6285 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, child); 6439 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); 6559 parent->AddChild(child_no_scale);
6406 6560
6407 LayerList render_surface_layer_list; 6561 LayerList render_surface_layer_list;
6408 int dummy_max_texture_size = 512; 6562 int dummy_max_texture_size = 512;
6409 6563
6410 float device_scale_factor = 2.5f; 6564 float device_scale_factor = 2.5f;
6411 float page_scale_factor = 1.f; 6565 float page_scale_factor = 1.f;
6412 6566
6413 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6567 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6414 root->bounds(), 6568 root->bounds(),
6569 gfx::Transform(),
6415 device_scale_factor, 6570 device_scale_factor,
6416 page_scale_factor, 6571 page_scale_factor,
6417 parent.get(), 6572 parent.get(),
6418 dummy_max_texture_size, 6573 dummy_max_texture_size,
6419 false, 6574 false,
6420 true, // can_adjust_raster_scale 6575 true, // can_adjust_raster_scale
6421 &render_surface_layer_list); 6576 &render_surface_layer_list);
6422 6577
6423 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6578 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6424 initial_parent_scale, parent); 6579 initial_parent_scale, parent);
(...skipping 22 matching lines...) Expand all
6447 child_no_scale->draw_transform().matrix().getDouble(1, 1)); 6602 child_no_scale->draw_transform().matrix().getDouble(1, 1));
6448 6603
6449 // If the device_scale_factor or page_scale_factor changes, then it should be 6604 // If the device_scale_factor or page_scale_factor changes, then it should be
6450 // updated using the initial transform as the raster scale. 6605 // updated using the initial transform as the raster scale.
6451 device_scale_factor = 2.25f; 6606 device_scale_factor = 2.25f;
6452 page_scale_factor = 1.25f; 6607 page_scale_factor = 1.25f;
6453 6608
6454 render_surface_layer_list.clear(); 6609 render_surface_layer_list.clear();
6455 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6610 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6456 root->bounds(), 6611 root->bounds(),
6612 gfx::Transform(),
6457 device_scale_factor, 6613 device_scale_factor,
6458 page_scale_factor, 6614 page_scale_factor,
6459 parent.get(), 6615 parent.get(),
6460 dummy_max_texture_size, 6616 dummy_max_texture_size,
6461 false, 6617 false,
6462 true, // can_adjust_raster_scale 6618 true, // can_adjust_raster_scale
6463 &render_surface_layer_list); 6619 &render_surface_layer_list);
6464 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6620 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6465 initial_parent_scale, 6621 initial_parent_scale,
6466 parent); 6622 parent);
6467 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6623 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6468 initial_parent_scale * initial_child_scale, 6624 initial_parent_scale * initial_child_scale,
6469 child_scale); 6625 child_scale);
6470 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6626 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6471 initial_parent_scale * initial_child_scale, 6627 initial_parent_scale * initial_child_scale,
6472 child_empty); 6628 child_empty);
6473 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale); 6629 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
6474 6630
6475 // If the transform changes, we expect the raster scale to be reset to 1.0. 6631 // If the transform changes, we expect the raster scale to be reset to 1.0.
6476 double second_child_scale = 1.75; 6632 double second_child_scale = 1.75;
6477 child_scale_matrix.Scale(second_child_scale / initial_child_scale, 6633 child_scale_matrix.Scale(second_child_scale / initial_child_scale,
6478 second_child_scale / initial_child_scale); 6634 second_child_scale / initial_child_scale);
6479 child_scale->SetTransform(child_scale_matrix); 6635 child_scale->SetTransform(child_scale_matrix);
6480 child_empty->SetTransform(child_scale_matrix); 6636 child_empty->SetTransform(child_scale_matrix);
6481 6637
6482 render_surface_layer_list.clear(); 6638 render_surface_layer_list.clear();
6483 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6639 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6484 root->bounds(), 6640 root->bounds(),
6641 gfx::Transform(),
6485 device_scale_factor, 6642 device_scale_factor,
6486 page_scale_factor, 6643 page_scale_factor,
6487 parent.get(), 6644 parent.get(),
6488 dummy_max_texture_size, 6645 dummy_max_texture_size,
6489 false, 6646 false,
6490 true, // can_adjust_raster_scale 6647 true, // can_adjust_raster_scale
6491 &render_surface_layer_list); 6648 &render_surface_layer_list);
6492 6649
6493 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6650 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6494 initial_parent_scale, 6651 initial_parent_scale,
6495 parent); 6652 parent);
6496 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6653 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
6497 child_scale); 6654 child_scale);
6498 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6655 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
6499 child_empty); 6656 child_empty);
6500 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale); 6657 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
6501 6658
6502 // If the device_scale_factor or page_scale_factor changes, then it should be 6659 // 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. 6660 // updated, but still using 1.0 as the raster scale.
6504 device_scale_factor = 2.75f; 6661 device_scale_factor = 2.75f;
6505 page_scale_factor = 1.75f; 6662 page_scale_factor = 1.75f;
6506 6663
6507 render_surface_layer_list.clear(); 6664 render_surface_layer_list.clear();
6508 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6665 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6509 root->bounds(), 6666 root->bounds(),
6667 gfx::Transform(),
6510 device_scale_factor, 6668 device_scale_factor,
6511 page_scale_factor, 6669 page_scale_factor,
6512 parent.get(), 6670 parent.get(),
6513 dummy_max_texture_size, 6671 dummy_max_texture_size,
6514 false, 6672 false,
6515 true, // can_adjust_raster_scale 6673 true, // can_adjust_raster_scale
6516 &render_surface_layer_list); 6674 &render_surface_layer_list);
6517 6675
6518 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6676 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6519 initial_parent_scale, 6677 initial_parent_scale,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
6588 6746
6589 LayerList render_surface_layer_list; 6747 LayerList render_surface_layer_list;
6590 int dummy_max_texture_size = 512; 6748 int dummy_max_texture_size = 512;
6591 6749
6592 float device_scale_factor = 2.5f; 6750 float device_scale_factor = 2.5f;
6593 float page_scale_factor = 1.f; 6751 float page_scale_factor = 1.f;
6594 6752
6595 LayerTreeHostCommon::CalculateDrawProperties( 6753 LayerTreeHostCommon::CalculateDrawProperties(
6596 root.get(), 6754 root.get(),
6597 root->bounds(), 6755 root->bounds(),
6756 gfx::Transform(),
6598 device_scale_factor, 6757 device_scale_factor,
6599 page_scale_factor, 6758 page_scale_factor,
6600 parent.get(), 6759 parent.get(),
6601 dummy_max_texture_size, 6760 dummy_max_texture_size,
6602 false, 6761 false,
6603 false, // can_adjust_raster_scale 6762 false, // can_adjust_raster_scale
6604 &render_surface_layer_list); 6763 &render_surface_layer_list);
6605 6764
6606 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 6765 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
6607 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 6766 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); 6830 parent->AddChild(child_scale);
6672 6831
6673 LayerList render_surface_layer_list; 6832 LayerList render_surface_layer_list;
6674 int dummy_max_texture_size = 512; 6833 int dummy_max_texture_size = 512;
6675 6834
6676 float device_scale_factor = 2.5f; 6835 float device_scale_factor = 2.5f;
6677 float page_scale_factor = 0.01f; 6836 float page_scale_factor = 0.01f;
6678 6837
6679 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6838 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6680 root->bounds(), 6839 root->bounds(),
6840 gfx::Transform(),
6681 device_scale_factor, 6841 device_scale_factor,
6682 page_scale_factor, 6842 page_scale_factor,
6683 parent.get(), 6843 parent.get(),
6684 dummy_max_texture_size, 6844 dummy_max_texture_size,
6685 false, 6845 false,
6686 true, // can_adjust_raster_scale 6846 true, // can_adjust_raster_scale
6687 &render_surface_layer_list); 6847 &render_surface_layer_list);
6688 6848
6689 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6849 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6690 initial_parent_scale, 6850 initial_parent_scale,
6691 parent); 6851 parent);
6692 // The child's scale is < 1, so we should not save and use that scale factor. 6852 // 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, 6853 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 1,
6694 child_scale); 6854 child_scale);
6695 6855
6696 // When chilld's total scale becomes >= 1, we should save and use that scale 6856 // When chilld's total scale becomes >= 1, we should save and use that scale
6697 // factor. 6857 // factor.
6698 child_scale_matrix.MakeIdentity(); 6858 child_scale_matrix.MakeIdentity();
6699 double final_child_scale = 0.75; 6859 double final_child_scale = 0.75;
6700 child_scale_matrix.Scale(final_child_scale, final_child_scale); 6860 child_scale_matrix.Scale(final_child_scale, final_child_scale);
6701 child_scale->SetTransform(child_scale_matrix); 6861 child_scale->SetTransform(child_scale_matrix);
6702 6862
6703 render_surface_layer_list.clear(); 6863 render_surface_layer_list.clear();
6704 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6864 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6705 root->bounds(), 6865 root->bounds(),
6866 gfx::Transform(),
6706 device_scale_factor, 6867 device_scale_factor,
6707 page_scale_factor, 6868 page_scale_factor,
6708 parent.get(), 6869 parent.get(),
6709 dummy_max_texture_size, 6870 dummy_max_texture_size,
6710 false, 6871 false,
6711 true, // can_adjust_raster_scale 6872 true, // can_adjust_raster_scale
6712 &render_surface_layer_list); 6873 &render_surface_layer_list);
6713 6874
6714 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6875 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6715 initial_parent_scale, 6876 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); 6978 surface_no_scale->AddChild(surface_no_scale_child_no_scale);
6818 6979
6819 LayerList render_surface_layer_list; 6980 LayerList render_surface_layer_list;
6820 int dummy_max_texture_size = 512; 6981 int dummy_max_texture_size = 512;
6821 6982
6822 double device_scale_factor = 5; 6983 double device_scale_factor = 5;
6823 double page_scale_factor = 7; 6984 double page_scale_factor = 7;
6824 6985
6825 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 6986 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
6826 root->bounds(), 6987 root->bounds(),
6988 gfx::Transform(),
6827 device_scale_factor, 6989 device_scale_factor,
6828 page_scale_factor, 6990 page_scale_factor,
6829 parent.get(), 6991 parent.get(),
6830 dummy_max_texture_size, 6992 dummy_max_texture_size,
6831 false, 6993 false,
6832 true, // can_adjust_raster_scale 6994 true, // can_adjust_raster_scale
6833 &render_surface_layer_list); 6995 &render_surface_layer_list);
6834 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 6996 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
6835 initial_parent_scale, 6997 initial_parent_scale,
6836 parent); 6998 parent);
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
7032 7194
7033 LayerList render_surface_layer_list; 7195 LayerList render_surface_layer_list;
7034 int dummy_max_texture_size = 512; 7196 int dummy_max_texture_size = 512;
7035 7197
7036 double device_scale_factor = 5; 7198 double device_scale_factor = 5;
7037 double page_scale_factor = 7; 7199 double page_scale_factor = 7;
7038 7200
7039 LayerTreeHostCommon::CalculateDrawProperties( 7201 LayerTreeHostCommon::CalculateDrawProperties(
7040 root.get(), 7202 root.get(),
7041 root->bounds(), 7203 root->bounds(),
7204 gfx::Transform(),
7042 device_scale_factor, 7205 device_scale_factor,
7043 page_scale_factor, 7206 page_scale_factor,
7044 parent.get(), 7207 parent.get(),
7045 dummy_max_texture_size, 7208 dummy_max_texture_size,
7046 false, 7209 false,
7047 false, // can_adjust_raster_scale 7210 false, // can_adjust_raster_scale
7048 &render_surface_layer_list); 7211 &render_surface_layer_list);
7049 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 7212 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
7050 parent); 7213 parent);
7051 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 7214 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
7185 7348
7186 // Now put an animating transform on child. 7349 // Now put an animating transform on child.
7187 int animation_id = AddAnimatedTransformToController( 7350 int animation_id = AddAnimatedTransformToController(
7188 child_scale->layer_animation_controller(), 10.0, 30, 0); 7351 child_scale->layer_animation_controller(), 10.0, 30, 0);
7189 7352
7190 LayerList render_surface_layer_list; 7353 LayerList render_surface_layer_list;
7191 int dummy_max_texture_size = 512; 7354 int dummy_max_texture_size = 512;
7192 7355
7193 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 7356 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
7194 root->bounds(), 7357 root->bounds(),
7358 gfx::Transform(),
7195 1.f, 7359 1.f,
7196 1.f, 7360 1.f,
7197 NULL, 7361 NULL,
7198 dummy_max_texture_size, 7362 dummy_max_texture_size,
7199 false, 7363 false,
7200 true, // can_adjust_raster_scale 7364 true, // can_adjust_raster_scale
7201 &render_surface_layer_list); 7365 &render_surface_layer_list);
7202 7366
7203 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent); 7367 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
7204 // The layers with animating transforms should not compute a contents scale 7368 // The layers with animating transforms should not compute a contents scale
7205 // other than 1 until they finish animating. 7369 // other than 1 until they finish animating.
7206 EXPECT_CONTENTS_SCALE_EQ(1, child_scale); 7370 EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
7207 7371
7208 // Remove the animation, now it can save a raster scale. 7372 // Remove the animation, now it can save a raster scale.
7209 child_scale->layer_animation_controller()->RemoveAnimation(animation_id); 7373 child_scale->layer_animation_controller()->RemoveAnimation(animation_id);
7210 7374
7211 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 7375 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
7212 root->bounds(), 7376 root->bounds(),
7377 gfx::Transform(),
7213 1.f, 7378 1.f,
7214 1.f, 7379 1.f,
7215 NULL, 7380 NULL,
7216 dummy_max_texture_size, 7381 dummy_max_texture_size,
7217 false, 7382 false,
7218 true, // can_adjust_raster_scale 7383 true, // can_adjust_raster_scale
7219 &render_surface_layer_list); 7384 &render_surface_layer_list);
7220 7385
7221 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent); 7386 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
7222 // The layers with animating transforms should not compute a contents scale 7387 // 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); 7438 parent->AddChild(child);
7274 child->AddChild(duplicate_child_non_owner); 7439 child->AddChild(duplicate_child_non_owner);
7275 child->SetReplicaLayer(replica.get()); 7440 child->SetReplicaLayer(replica.get());
7276 7441
7277 LayerList render_surface_layer_list; 7442 LayerList render_surface_layer_list;
7278 int dummy_max_texture_size = 512; 7443 int dummy_max_texture_size = 512;
7279 7444
7280 float device_scale_factor = 1.5f; 7445 float device_scale_factor = 1.5f;
7281 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 7446 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
7282 parent->bounds(), 7447 parent->bounds(),
7448 gfx::Transform(),
7283 device_scale_factor, 7449 device_scale_factor,
7284 1.f, 7450 1.f,
7285 NULL, 7451 NULL,
7286 dummy_max_texture_size, 7452 dummy_max_texture_size,
7287 false, 7453 false,
7288 true, // can_adjust_raster_scale 7454 true, // can_adjust_raster_scale
7289 &render_surface_layer_list); 7455 &render_surface_layer_list);
7290 7456
7291 // We should have two render surfaces. The root's render surface and child's 7457 // 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). 7458 // 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); 7576 parent->AddChild(child);
7411 child->AddChild(duplicate_child_non_owner); 7577 child->AddChild(duplicate_child_non_owner);
7412 child->SetReplicaLayer(replica.get()); 7578 child->SetReplicaLayer(replica.get());
7413 7579
7414 LayerList render_surface_layer_list; 7580 LayerList render_surface_layer_list;
7415 int dummy_max_texture_size = 512; 7581 int dummy_max_texture_size = 512;
7416 7582
7417 float device_scale_factor = 1.7f; 7583 float device_scale_factor = 1.7f;
7418 LayerTreeHostCommon::CalculateDrawProperties(parent.get(), 7584 LayerTreeHostCommon::CalculateDrawProperties(parent.get(),
7419 parent->bounds(), 7585 parent->bounds(),
7586 gfx::Transform(),
7420 device_scale_factor, 7587 device_scale_factor,
7421 1.f, 7588 1.f,
7422 NULL, 7589 NULL,
7423 dummy_max_texture_size, 7590 dummy_max_texture_size,
7424 false, 7591 false,
7425 true, // can_adjust_raster_scale 7592 true, // can_adjust_raster_scale
7426 &render_surface_layer_list); 7593 &render_surface_layer_list);
7427 7594
7428 // We should have two render surfaces. The root's render surface and child's 7595 // 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). 7596 // 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. 7731 // Add opacity animation.
7565 AddOpacityTransitionToController( 7732 AddOpacityTransitionToController(
7566 child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false); 7733 child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false);
7567 7734
7568 root->AddChild(child.Pass()); 7735 root->AddChild(child.Pass());
7569 7736
7570 std::vector<LayerImpl*> render_surface_layer_list; 7737 std::vector<LayerImpl*> render_surface_layer_list;
7571 int dummy_max_texture_size = 512; 7738 int dummy_max_texture_size = 512;
7572 LayerTreeHostCommon::CalculateDrawProperties(root.get(), 7739 LayerTreeHostCommon::CalculateDrawProperties(root.get(),
7573 root->bounds(), 7740 root->bounds(),
7741 gfx::Transform(),
7574 1.f, 7742 1.f,
7575 1.f, 7743 1.f,
7576 NULL, 7744 NULL,
7577 dummy_max_texture_size, 7745 dummy_max_texture_size,
7578 false, 7746 false,
7579 true, // can_adjust_raster_scale 7747 true, // can_adjust_raster_scale
7580 &render_surface_layer_list); 7748 &render_surface_layer_list);
7581 7749
7582 // We should have one render surface and two layers. The child 7750 // We should have one render surface and two layers. The child
7583 // layer should be included even though it is transparent. 7751 // 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()); 7896 EXPECT_EQ(can_use_lcd_text_, child_->can_use_lcd_text());
7729 EXPECT_EQ(can_use_lcd_text_, grand_child_->can_use_lcd_text()); 7897 EXPECT_EQ(can_use_lcd_text_, grand_child_->can_use_lcd_text());
7730 } 7898 }
7731 7899
7732 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, 7900 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest,
7733 LCDTextTest, 7901 LCDTextTest,
7734 testing::Combine(testing::Bool(), testing::Bool())); 7902 testing::Combine(testing::Bool(), testing::Bool()));
7735 7903
7736 } // namespace 7904 } // namespace
7737 } // namespace cc 7905 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698