| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 <map> | 5 #include <map> |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
| (...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 606 | 606 |
| 607 DISALLOW_COPY_AND_ASSIGN(HitTestView); | 607 DISALLOW_COPY_AND_ASSIGN(HitTestView); |
| 608 }; | 608 }; |
| 609 | 609 |
| 610 gfx::Point ConvertPointToView(View* view, const gfx::Point& p) { | 610 gfx::Point ConvertPointToView(View* view, const gfx::Point& p) { |
| 611 gfx::Point tmp(p); | 611 gfx::Point tmp(p); |
| 612 View::ConvertPointToView(view->GetWidget()->GetRootView(), view, &tmp); | 612 View::ConvertPointToView(view->GetWidget()->GetRootView(), view, &tmp); |
| 613 return tmp; | 613 return tmp; |
| 614 } | 614 } |
| 615 | 615 |
| 616 void RotateCounterclockwise(ui::Transform& transform) { |
| 617 transform.matrix().set3x3(0, -1, 0, |
| 618 1, 0, 0, |
| 619 0, 0, 1); |
| 620 } |
| 621 |
| 622 void RotateClockwise(ui::Transform& transform) { |
| 623 transform.matrix().set3x3( 0, 1, 0, |
| 624 -1, 0, 0, |
| 625 0, 0, 1); |
| 626 } |
| 627 |
| 616 } // namespace | 628 } // namespace |
| 617 | 629 |
| 618 TEST_F(ViewTest, HitTestMasks) { | 630 TEST_F(ViewTest, HitTestMasks) { |
| 619 Widget* widget = new Widget; | 631 Widget* widget = new Widget; |
| 620 widget->Init(Widget::InitParams(Widget::InitParams::TYPE_POPUP)); | 632 widget->Init(Widget::InitParams(Widget::InitParams::TYPE_POPUP)); |
| 621 View* root_view = widget->GetRootView(); | 633 View* root_view = widget->GetRootView(); |
| 622 root_view->SetBounds(0, 0, 500, 500); | 634 root_view->SetBounds(0, 0, 500, 500); |
| 623 | 635 |
| 624 gfx::Rect v1_bounds = gfx::Rect(0, 0, 100, 100); | 636 gfx::Rect v1_bounds = gfx::Rect(0, 0, 100, 100); |
| 625 HitTestView* v1 = new HitTestView(false); | 637 HitTestView* v1 = new HitTestView(false); |
| (...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1514 v1->AddChildView(v2); | 1526 v1->AddChildView(v2); |
| 1515 | 1527 |
| 1516 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. | 1528 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. |
| 1517 v1->ClearScheduledPaintRect(); | 1529 v1->ClearScheduledPaintRect(); |
| 1518 v2->SchedulePaint(); | 1530 v2->SchedulePaint(); |
| 1519 | 1531 |
| 1520 EXPECT_EQ(gfx::Rect(100, 100, 200, 100), v1->scheduled_paint_rect()); | 1532 EXPECT_EQ(gfx::Rect(100, 100, 200, 100), v1->scheduled_paint_rect()); |
| 1521 | 1533 |
| 1522 // Rotate |v1| counter-clockwise. | 1534 // Rotate |v1| counter-clockwise. |
| 1523 ui::Transform transform; | 1535 ui::Transform transform; |
| 1524 transform.SetRotate(-90.0f); | 1536 RotateCounterclockwise(transform); |
| 1525 transform.SetTranslateY(500.0f); | 1537 transform.SetTranslateY(500.0f); |
| 1526 v1->SetTransform(transform); | 1538 v1->SetTransform(transform); |
| 1527 | 1539 |
| 1528 // |v2| now occupies (100, 200) to (200, 400) in |root|. | 1540 // |v2| now occupies (100, 200) to (200, 400) in |root|. |
| 1529 | 1541 |
| 1530 v1->ClearScheduledPaintRect(); | 1542 v1->ClearScheduledPaintRect(); |
| 1531 v2->SchedulePaint(); | 1543 v2->SchedulePaint(); |
| 1532 | 1544 |
| 1533 EXPECT_EQ(gfx::Rect(100, 200, 100, 200), v1->scheduled_paint_rect()); | 1545 EXPECT_EQ(gfx::Rect(100, 200, 100, 200), v1->scheduled_paint_rect()); |
| 1534 | 1546 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1548 widget->Init(params); | 1560 widget->Init(params); |
| 1549 View* root = widget->GetRootView(); | 1561 View* root = widget->GetRootView(); |
| 1550 | 1562 |
| 1551 root->AddChildView(v1); | 1563 root->AddChildView(v1); |
| 1552 v1->AddChildView(v2); | 1564 v1->AddChildView(v2); |
| 1553 | 1565 |
| 1554 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. | 1566 // At this moment, |v2| occupies (100, 100) to (300, 200) in |root|. |
| 1555 | 1567 |
| 1556 // Rotate |v1| counter-clockwise. | 1568 // Rotate |v1| counter-clockwise. |
| 1557 ui::Transform transform(v1->GetTransform()); | 1569 ui::Transform transform(v1->GetTransform()); |
| 1558 transform.SetRotate(-90.0f); | 1570 RotateCounterclockwise(transform); |
| 1559 transform.SetTranslateY(500.0f); | 1571 transform.SetTranslateY(500.0f); |
| 1560 v1->SetTransform(transform); | 1572 v1->SetTransform(transform); |
| 1561 | 1573 |
| 1562 // |v2| now occupies (100, 200) to (200, 400) in |root|. | 1574 // |v2| now occupies (100, 200) to (200, 400) in |root|. |
| 1563 v1->Reset(); | 1575 v1->Reset(); |
| 1564 v2->Reset(); | 1576 v2->Reset(); |
| 1565 | 1577 |
| 1566 MouseEvent pressed(ui::ET_MOUSE_PRESSED, | 1578 MouseEvent pressed(ui::ET_MOUSE_PRESSED, |
| 1567 110, 210, | 1579 110, 210, |
| 1568 ui::EF_LEFT_BUTTON_DOWN); | 1580 ui::EF_LEFT_BUTTON_DOWN); |
| 1569 root->OnMousePressed(pressed); | 1581 root->OnMousePressed(pressed); |
| 1570 EXPECT_EQ(0, v1->last_mouse_event_type_); | 1582 EXPECT_EQ(0, v1->last_mouse_event_type_); |
| 1571 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); | 1583 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); |
| 1572 EXPECT_EQ(190, v2->location_.x()); | 1584 EXPECT_EQ(190, v2->location_.x()); |
| 1573 EXPECT_EQ(10, v2->location_.y()); | 1585 EXPECT_EQ(10, v2->location_.y()); |
| 1574 | 1586 |
| 1575 MouseEvent released(ui::ET_MOUSE_RELEASED, 0, 0, 0); | 1587 MouseEvent released(ui::ET_MOUSE_RELEASED, 0, 0, 0); |
| 1576 root->OnMouseReleased(released); | 1588 root->OnMouseReleased(released); |
| 1577 | 1589 |
| 1578 // Now rotate |v2| inside |v1| clockwise. | 1590 // Now rotate |v2| inside |v1| clockwise. |
| 1579 transform = v2->GetTransform(); | 1591 transform = v2->GetTransform(); |
| 1580 transform.SetRotate(90.0f); | 1592 RotateClockwise(transform); |
| 1581 transform.SetTranslateX(100.0f); | 1593 transform.SetTranslateX(100.0f); |
| 1582 v2->SetTransform(transform); | 1594 v2->SetTransform(transform); |
| 1583 | 1595 |
| 1584 // Now, |v2| occupies (100, 100) to (200, 300) in |v1|, and (100, 300) to | 1596 // Now, |v2| occupies (100, 100) to (200, 300) in |v1|, and (100, 300) to |
| 1585 // (300, 400) in |root|. | 1597 // (300, 400) in |root|. |
| 1586 | 1598 |
| 1587 v1->Reset(); | 1599 v1->Reset(); |
| 1588 v2->Reset(); | 1600 v2->Reset(); |
| 1589 | 1601 |
| 1590 MouseEvent p2(ui::ET_MOUSE_PRESSED, | 1602 MouseEvent p2(ui::ET_MOUSE_PRESSED, |
| 1591 110, 320, | 1603 110, 320, |
| 1592 ui::EF_LEFT_BUTTON_DOWN); | 1604 ui::EF_LEFT_BUTTON_DOWN); |
| 1593 root->OnMousePressed(p2); | 1605 root->OnMousePressed(p2); |
| 1594 EXPECT_EQ(0, v1->last_mouse_event_type_); | 1606 EXPECT_EQ(0, v1->last_mouse_event_type_); |
| 1595 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); | 1607 EXPECT_EQ(ui::ET_MOUSE_PRESSED, v2->last_mouse_event_type_); |
| 1596 EXPECT_EQ(10, v2->location_.x()); | 1608 EXPECT_EQ(10, v2->location_.x()); |
| 1597 EXPECT_EQ(20, v2->location_.y()); | 1609 EXPECT_EQ(20, v2->location_.y()); |
| 1598 | 1610 |
| 1599 root->OnMouseReleased(released); | 1611 root->OnMouseReleased(released); |
| 1600 | 1612 |
| 1601 v1->SetTransform(ui::Transform()); | 1613 v1->SetTransform(ui::Transform()); |
| 1602 v2->SetTransform(ui::Transform()); | 1614 v2->SetTransform(ui::Transform()); |
| 1603 | 1615 |
| 1604 TestView* v3 = new TestView(); | 1616 TestView* v3 = new TestView(); |
| 1605 v3->SetBounds(10, 10, 20, 30); | 1617 v3->SetBounds(10, 10, 20, 30); |
| 1606 v2->AddChildView(v3); | 1618 v2->AddChildView(v3); |
| 1607 | 1619 |
| 1608 // Rotate |v3| clockwise with respect to |v2|. | 1620 // Rotate |v3| clockwise with respect to |v2|. |
| 1609 transform = v1->GetTransform(); | 1621 transform = v1->GetTransform(); |
| 1610 transform.SetRotate(90.0f); | 1622 RotateClockwise(transform); |
| 1611 transform.SetTranslateX(30.0f); | 1623 transform.SetTranslateX(30.0f); |
| 1612 v3->SetTransform(transform); | 1624 v3->SetTransform(transform); |
| 1613 | 1625 |
| 1614 // Scale |v2| with respect to |v1| along both axis. | 1626 // Scale |v2| with respect to |v1| along both axis. |
| 1615 transform = v2->GetTransform(); | 1627 transform = v2->GetTransform(); |
| 1616 transform.SetScale(0.8f, 0.5f); | 1628 transform.SetScale(0.8f, 0.5f); |
| 1617 v2->SetTransform(transform); | 1629 v2->SetTransform(transform); |
| 1618 | 1630 |
| 1619 // |v3| occupies (108, 105) to (132, 115) in |root|. | 1631 // |v3| occupies (108, 105) to (132, 115) in |root|. |
| 1620 | 1632 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1636 v1->SetTransform(ui::Transform()); | 1648 v1->SetTransform(ui::Transform()); |
| 1637 v2->SetTransform(ui::Transform()); | 1649 v2->SetTransform(ui::Transform()); |
| 1638 v3->SetTransform(ui::Transform()); | 1650 v3->SetTransform(ui::Transform()); |
| 1639 | 1651 |
| 1640 v1->Reset(); | 1652 v1->Reset(); |
| 1641 v2->Reset(); | 1653 v2->Reset(); |
| 1642 v3->Reset(); | 1654 v3->Reset(); |
| 1643 | 1655 |
| 1644 // Rotate |v3| clockwise with respect to |v2|, and scale it along both axis. | 1656 // Rotate |v3| clockwise with respect to |v2|, and scale it along both axis. |
| 1645 transform = v3->GetTransform(); | 1657 transform = v3->GetTransform(); |
| 1646 transform.SetRotate(90.0f); | 1658 RotateClockwise(transform); |
| 1647 transform.SetTranslateX(30.0f); | 1659 transform.SetTranslateX(30.0f); |
| 1648 // Rotation sets some scaling transformation. Using SetScale would overwrite | 1660 // Rotation sets some scaling transformation. Using SetScale would overwrite |
| 1649 // that and pollute the rotation. So combine the scaling with the existing | 1661 // that and pollute the rotation. So combine the scaling with the existing |
| 1650 // transforamtion. | 1662 // transforamtion. |
| 1651 transform.ConcatScale(0.8f, 0.5f); | 1663 transform.ConcatScale(0.8f, 0.5f); |
| 1652 v3->SetTransform(transform); | 1664 v3->SetTransform(transform); |
| 1653 | 1665 |
| 1654 // Translate |v2| with respect to |v1|. | 1666 // Translate |v2| with respect to |v1|. |
| 1655 transform = v2->GetTransform(); | 1667 transform = v2->GetTransform(); |
| 1656 transform.SetTranslate(10, 10); | 1668 transform.SetTranslate(10, 10); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1689 viewport->SetBoundsRect(viewport_bounds); | 1701 viewport->SetBoundsRect(viewport_bounds); |
| 1690 contents->SetBounds(0, 0, 100, 200); | 1702 contents->SetBounds(0, 0, 100, 200); |
| 1691 | 1703 |
| 1692 View* child = new View; | 1704 View* child = new View; |
| 1693 contents->AddChildView(child); | 1705 contents->AddChildView(child); |
| 1694 child->SetBounds(10, 90, 50, 50); | 1706 child->SetBounds(10, 90, 50, 50); |
| 1695 EXPECT_EQ(gfx::Rect(0, 0, 50, 10), child->GetVisibleBounds()); | 1707 EXPECT_EQ(gfx::Rect(0, 0, 50, 10), child->GetVisibleBounds()); |
| 1696 | 1708 |
| 1697 // Rotate |child| counter-clockwise | 1709 // Rotate |child| counter-clockwise |
| 1698 ui::Transform transform; | 1710 ui::Transform transform; |
| 1699 transform.SetRotate(-90.0f); | 1711 RotateCounterclockwise(transform); |
| 1700 transform.SetTranslateY(50.0f); | 1712 transform.SetTranslateY(50.0f); |
| 1701 child->SetTransform(transform); | 1713 child->SetTransform(transform); |
| 1702 EXPECT_EQ(gfx::Rect(40, 0, 10, 50), child->GetVisibleBounds()); | 1714 EXPECT_EQ(gfx::Rect(40, 0, 10, 50), child->GetVisibleBounds()); |
| 1703 | 1715 |
| 1704 widget->CloseNow(); | 1716 widget->CloseNow(); |
| 1705 } | 1717 } |
| 1706 | 1718 |
| 1707 //////////////////////////////////////////////////////////////////////////////// | 1719 //////////////////////////////////////////////////////////////////////////////// |
| 1708 // OnVisibleBoundsChanged() | 1720 // OnVisibleBoundsChanged() |
| 1709 | 1721 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1820 transform.SetScale(5.0f, 7.0f); | 1832 transform.SetScale(5.0f, 7.0f); |
| 1821 child_child->SetTransform(transform); | 1833 child_child->SetTransform(transform); |
| 1822 | 1834 |
| 1823 // Sanity check to make sure basic transforms act as expected. | 1835 // Sanity check to make sure basic transforms act as expected. |
| 1824 { | 1836 { |
| 1825 ui::Transform transform; | 1837 ui::Transform transform; |
| 1826 transform.ConcatTranslate(1, 1); | 1838 transform.ConcatTranslate(1, 1); |
| 1827 transform.ConcatScale(100, 55); | 1839 transform.ConcatScale(100, 55); |
| 1828 transform.ConcatTranslate(110, -110); | 1840 transform.ConcatTranslate(110, -110); |
| 1829 | 1841 |
| 1830 EXPECT_EQ(210, transform.matrix().getTranslateX()); | 1842 // convert to a 3x3 matrix. |
| 1831 EXPECT_EQ(-55, transform.matrix().getTranslateY()); | 1843 const SkMatrix& matrix = transform.matrix(); |
| 1832 EXPECT_EQ(100, transform.matrix().getScaleX()); | 1844 |
| 1833 EXPECT_EQ(55, transform.matrix().getScaleY()); | 1845 EXPECT_EQ(210, matrix.getTranslateX()); |
| 1834 EXPECT_EQ(0, transform.matrix().getSkewX()); | 1846 EXPECT_EQ(-55, matrix.getTranslateY()); |
| 1835 EXPECT_EQ(0, transform.matrix().getSkewY()); | 1847 EXPECT_EQ(100, matrix.getScaleX()); |
| 1848 EXPECT_EQ(55, matrix.getScaleY()); |
| 1849 EXPECT_EQ(0, matrix.getSkewX()); |
| 1850 EXPECT_EQ(0, matrix.getSkewY()); |
| 1836 } | 1851 } |
| 1837 | 1852 |
| 1838 { | 1853 { |
| 1839 ui::Transform transform; | 1854 ui::Transform transform; |
| 1840 transform.SetTranslate(1, 1); | 1855 transform.SetTranslate(1, 1); |
| 1841 ui::Transform t2; | 1856 ui::Transform t2; |
| 1842 t2.SetScale(100, 55); | 1857 t2.SetScale(100, 55); |
| 1843 ui::Transform t3; | 1858 ui::Transform t3; |
| 1844 t3.SetTranslate(110, -110); | 1859 t3.SetTranslate(110, -110); |
| 1845 transform.ConcatTransform(t2); | 1860 transform.ConcatTransform(t2); |
| 1846 transform.ConcatTransform(t3); | 1861 transform.ConcatTransform(t3); |
| 1847 | 1862 |
| 1848 EXPECT_EQ(210, transform.matrix().getTranslateX()); | 1863 // convert to a 3x3 matrix |
| 1849 EXPECT_EQ(-55, transform.matrix().getTranslateY()); | 1864 const SkMatrix& matrix = transform.matrix(); |
| 1850 EXPECT_EQ(100, transform.matrix().getScaleX()); | 1865 |
| 1851 EXPECT_EQ(55, transform.matrix().getScaleY()); | 1866 EXPECT_EQ(210, matrix.getTranslateX()); |
| 1852 EXPECT_EQ(0, transform.matrix().getSkewX()); | 1867 EXPECT_EQ(-55, matrix.getTranslateY()); |
| 1853 EXPECT_EQ(0, transform.matrix().getSkewY()); | 1868 EXPECT_EQ(100, matrix.getScaleX()); |
| 1869 EXPECT_EQ(55, matrix.getScaleY()); |
| 1870 EXPECT_EQ(0, matrix.getSkewX()); |
| 1871 EXPECT_EQ(0, matrix.getSkewY()); |
| 1854 } | 1872 } |
| 1855 | 1873 |
| 1856 // Conversions from child->top and top->child. | 1874 // Conversions from child->top and top->child. |
| 1857 { | 1875 { |
| 1858 gfx::Point point(5, 5); | 1876 gfx::Point point(5, 5); |
| 1859 View::ConvertPointToView(child, &top_view, &point); | 1877 View::ConvertPointToView(child, &top_view, &point); |
| 1860 EXPECT_EQ(22, point.x()); | 1878 EXPECT_EQ(22, point.x()); |
| 1861 EXPECT_EQ(39, point.y()); | 1879 EXPECT_EQ(39, point.y()); |
| 1862 | 1880 |
| 1863 point.SetPoint(22, 39); | 1881 point.SetPoint(22, 39); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1919 v1->SetBounds(10, 10, 500, 500); | 1937 v1->SetBounds(10, 10, 500, 500); |
| 1920 v2->SetBounds(20, 20, 100, 200); | 1938 v2->SetBounds(20, 20, 100, 200); |
| 1921 | 1939 |
| 1922 // |v2| now occupies (30, 30) to (130, 230) in |widget| | 1940 // |v2| now occupies (30, 30) to (130, 230) in |widget| |
| 1923 gfx::Rect rect(5, 5, 15, 40); | 1941 gfx::Rect rect(5, 5, 15, 40); |
| 1924 EXPECT_EQ(gfx::Rect(25, 25, 15, 40), v2->ConvertRectToParent(rect)); | 1942 EXPECT_EQ(gfx::Rect(25, 25, 15, 40), v2->ConvertRectToParent(rect)); |
| 1925 EXPECT_EQ(gfx::Rect(35, 35, 15, 40), v2->ConvertRectToWidget(rect)); | 1943 EXPECT_EQ(gfx::Rect(35, 35, 15, 40), v2->ConvertRectToWidget(rect)); |
| 1926 | 1944 |
| 1927 // Rotate |v2| | 1945 // Rotate |v2| |
| 1928 ui::Transform t2; | 1946 ui::Transform t2; |
| 1929 t2.SetRotate(-90.0f); | 1947 RotateCounterclockwise(t2); |
| 1930 t2.SetTranslateY(100.0f); | 1948 t2.SetTranslateY(100.0f); |
| 1931 v2->SetTransform(t2); | 1949 v2->SetTransform(t2); |
| 1932 | 1950 |
| 1933 // |v2| now occupies (30, 30) to (230, 130) in |widget| | 1951 // |v2| now occupies (30, 30) to (230, 130) in |widget| |
| 1934 EXPECT_EQ(gfx::Rect(25, 100, 40, 15), v2->ConvertRectToParent(rect)); | 1952 EXPECT_EQ(gfx::Rect(25, 100, 40, 15), v2->ConvertRectToParent(rect)); |
| 1935 EXPECT_EQ(gfx::Rect(35, 110, 40, 15), v2->ConvertRectToWidget(rect)); | 1953 EXPECT_EQ(gfx::Rect(35, 110, 40, 15), v2->ConvertRectToWidget(rect)); |
| 1936 | 1954 |
| 1937 // Scale down |v1| | 1955 // Scale down |v1| |
| 1938 ui::Transform t1; | 1956 ui::Transform t1; |
| 1939 t1.SetScale(0.5, 0.5); | 1957 t1.SetScale(0.5, 0.5); |
| (...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2564 EXPECT_EQ(gfx::Rect(36, 48, 40, 50), v2->layer()->bounds()); | 2582 EXPECT_EQ(gfx::Rect(36, 48, 40, 50), v2->layer()->bounds()); |
| 2565 } | 2583 } |
| 2566 | 2584 |
| 2567 // Makes sure a transform persists after toggling the visibility. | 2585 // Makes sure a transform persists after toggling the visibility. |
| 2568 TEST_F(ViewLayerTest, ToggleVisibilityWithTransform) { | 2586 TEST_F(ViewLayerTest, ToggleVisibilityWithTransform) { |
| 2569 View* view = new View; | 2587 View* view = new View; |
| 2570 ui::Transform transform; | 2588 ui::Transform transform; |
| 2571 transform.SetScale(2.0f, 2.0f); | 2589 transform.SetScale(2.0f, 2.0f); |
| 2572 view->SetTransform(transform); | 2590 view->SetTransform(transform); |
| 2573 widget()->SetContentsView(view); | 2591 widget()->SetContentsView(view); |
| 2574 EXPECT_EQ(2.0f, view->GetTransform().matrix()[0]); | 2592 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 2575 | 2593 |
| 2576 view->SetVisible(false); | 2594 view->SetVisible(false); |
| 2577 EXPECT_EQ(2.0f, view->GetTransform().matrix()[0]); | 2595 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 2578 | 2596 |
| 2579 view->SetVisible(true); | 2597 view->SetVisible(true); |
| 2580 EXPECT_EQ(2.0f, view->GetTransform().matrix()[0]); | 2598 EXPECT_EQ(2.0f, view->GetTransform().matrix().get(0, 0)); |
| 2581 } | 2599 } |
| 2582 | 2600 |
| 2583 // Verifies a transform persists after removing/adding a view with a transform. | 2601 // Verifies a transform persists after removing/adding a view with a transform. |
| 2584 TEST_F(ViewLayerTest, ResetTransformOnLayerAfterAdd) { | 2602 TEST_F(ViewLayerTest, ResetTransformOnLayerAfterAdd) { |
| 2585 View* view = new View; | 2603 View* view = new View; |
| 2586 ui::Transform transform; | 2604 ui::Transform transform; |
| 2587 transform.SetScale(2.0f, 2.0f); | 2605 transform.SetScale(2.0f, 2.0f); |
| 2588 view->SetTransform(transform); | 2606 view->SetTransform(transform); |
| 2589 widget()->SetContentsView(view); | 2607 widget()->SetContentsView(view); |
| 2590 EXPECT_EQ(2.0f, view->GetTransform().matrix()[0]); | 2608 EXPECT_EQ(2.0f, view->GetTransform().matrix()[0]); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2676 EXPECT_EQ(gfx::Rect(11, 22, 100, 200), widget_view_host->layer()->bounds()); | 2694 EXPECT_EQ(gfx::Rect(11, 22, 100, 200), widget_view_host->layer()->bounds()); |
| 2677 ASSERT_TRUE(child_view->layer() != NULL); | 2695 ASSERT_TRUE(child_view->layer() != NULL); |
| 2678 EXPECT_EQ(gfx::Rect(5, 6, 10, 11), child_view->layer()->bounds()); | 2696 EXPECT_EQ(gfx::Rect(5, 6, 10, 11), child_view->layer()->bounds()); |
| 2679 | 2697 |
| 2680 child_widget->CloseNow(); | 2698 child_widget->CloseNow(); |
| 2681 } | 2699 } |
| 2682 | 2700 |
| 2683 #endif // VIEWS_COMPOSITOR | 2701 #endif // VIEWS_COMPOSITOR |
| 2684 | 2702 |
| 2685 } // namespace views | 2703 } // namespace views |
| OLD | NEW |