OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ash/display/display_manager.h" | 5 #include "ash/display/display_manager.h" |
6 | 6 |
| 7 #include "ash/accelerators/accelerator_commands.h" |
7 #include "ash/ash_switches.h" | 8 #include "ash/ash_switches.h" |
8 #include "ash/display/display_info.h" | 9 #include "ash/display/display_info.h" |
9 #include "ash/display/display_layout_store.h" | 10 #include "ash/display/display_layout_store.h" |
10 #include "ash/display/display_util.h" | 11 #include "ash/display/display_util.h" |
11 #include "ash/display/mirror_window_controller.h" | 12 #include "ash/display/mirror_window_controller.h" |
12 #include "ash/display/window_tree_host_manager.h" | 13 #include "ash/display/window_tree_host_manager.h" |
13 #include "ash/screen_util.h" | 14 #include "ash/screen_util.h" |
14 #include "ash/shell.h" | 15 #include "ash/shell.h" |
15 #include "ash/test/ash_test_base.h" | 16 #include "ash/test/ash_test_base.h" |
16 #include "ash/test/display_manager_test_api.h" | 17 #include "ash/test/display_manager_test_api.h" |
(...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 Shell::GetPrimaryRootWindow()->RemoveObserver(this); | 1126 Shell::GetPrimaryRootWindow()->RemoveObserver(this); |
1126 | 1127 |
1127 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 1128 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
1128 | 1129 |
1129 UpdateDisplay("200x200, 400x400"); | 1130 UpdateDisplay("200x200, 400x400"); |
1130 | 1131 |
1131 int64 unified_id = Shell::GetScreen()->GetPrimaryDisplay().id(); | 1132 int64 unified_id = Shell::GetScreen()->GetPrimaryDisplay().id(); |
1132 DisplayInfo info = display_manager->GetDisplayInfo(unified_id); | 1133 DisplayInfo info = display_manager->GetDisplayInfo(unified_id); |
1133 ASSERT_EQ(2u, info.display_modes().size()); | 1134 ASSERT_EQ(2u, info.display_modes().size()); |
1134 EXPECT_EQ("400x200", info.display_modes()[0].size.ToString()); | 1135 EXPECT_EQ("400x200", info.display_modes()[0].size.ToString()); |
| 1136 EXPECT_TRUE(info.display_modes()[0].native); |
1135 EXPECT_EQ("800x400", info.display_modes()[1].size.ToString()); | 1137 EXPECT_EQ("800x400", info.display_modes()[1].size.ToString()); |
1136 EXPECT_EQ("800x400", | 1138 EXPECT_FALSE(info.display_modes()[1].native); |
| 1139 EXPECT_EQ("400x200", |
1137 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); | 1140 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); |
1138 DisplayMode active_mode = | 1141 DisplayMode active_mode = |
1139 display_manager->GetActiveModeForDisplayId(unified_id); | 1142 display_manager->GetActiveModeForDisplayId(unified_id); |
1140 EXPECT_EQ(1.0f, active_mode.ui_scale); | 1143 EXPECT_EQ(1.0f, active_mode.ui_scale); |
1141 EXPECT_EQ("800x400", active_mode.size.ToString()); | 1144 EXPECT_EQ("400x200", active_mode.size.ToString()); |
1142 | 1145 |
1143 EXPECT_TRUE(test::SetDisplayResolution(unified_id, gfx::Size(400, 200))); | 1146 EXPECT_TRUE(test::SetDisplayResolution(unified_id, gfx::Size(800, 400))); |
1144 EXPECT_EQ("400x200", | 1147 EXPECT_EQ("800x400", |
1145 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); | 1148 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); |
1146 | 1149 |
1147 active_mode = display_manager->GetActiveModeForDisplayId(unified_id); | 1150 active_mode = display_manager->GetActiveModeForDisplayId(unified_id); |
1148 EXPECT_EQ(1.0f, active_mode.ui_scale); | 1151 EXPECT_EQ(1.0f, active_mode.ui_scale); |
1149 EXPECT_EQ("400x200", active_mode.size.ToString()); | 1152 EXPECT_EQ("800x400", active_mode.size.ToString()); |
1150 | 1153 |
1151 // resolution change will not persist in unified desktop mode. | 1154 // resolution change will not persist in unified desktop mode. |
1152 UpdateDisplay("200x200, 600x600"); | 1155 UpdateDisplay("600x600, 200x200"); |
1153 EXPECT_EQ("1200x600", | 1156 EXPECT_EQ("1200x600", |
1154 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); | 1157 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); |
1155 active_mode = display_manager->GetActiveModeForDisplayId(unified_id); | 1158 active_mode = display_manager->GetActiveModeForDisplayId(unified_id); |
1156 EXPECT_EQ(1.0f, active_mode.ui_scale); | 1159 EXPECT_EQ(1.0f, active_mode.ui_scale); |
| 1160 EXPECT_TRUE(active_mode.native); |
1157 EXPECT_EQ("1200x600", active_mode.size.ToString()); | 1161 EXPECT_EQ("1200x600", active_mode.size.ToString()); |
1158 } | 1162 } |
1159 | 1163 |
1160 #if defined(OS_WIN) | 1164 #if defined(OS_WIN) |
1161 // TODO(scottmg): RootWindow doesn't get resized on Windows | 1165 // TODO(scottmg): RootWindow doesn't get resized on Windows |
1162 // Ash. http://crbug.com/247916. | 1166 // Ash. http://crbug.com/247916. |
1163 #define MAYBE_UpdateMouseCursorAfterRotateZoom DISABLED_UpdateMouseCursorAfterRo
tateZoom | 1167 #define MAYBE_UpdateMouseCursorAfterRotateZoom DISABLED_UpdateMouseCursorAfterRo
tateZoom |
1164 #else | 1168 #else |
1165 #define MAYBE_UpdateMouseCursorAfterRotateZoom UpdateMouseCursorAfterRotateZoom | 1169 #define MAYBE_UpdateMouseCursorAfterRotateZoom UpdateMouseCursorAfterRotateZoom |
1166 #endif | 1170 #endif |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1513 } | 1517 } |
1514 | 1518 |
1515 TEST_F(DisplayManagerTest, UnifiedDesktopBasic) { | 1519 TEST_F(DisplayManagerTest, UnifiedDesktopBasic) { |
1516 if (!SupportsMultipleDisplays()) | 1520 if (!SupportsMultipleDisplays()) |
1517 return; | 1521 return; |
1518 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); | 1522 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); |
1519 | 1523 |
1520 // Don't check root window destruction in unified mode. | 1524 // Don't check root window destruction in unified mode. |
1521 Shell::GetPrimaryRootWindow()->RemoveObserver(this); | 1525 Shell::GetPrimaryRootWindow()->RemoveObserver(this); |
1522 | 1526 |
1523 UpdateDisplay("300x200,400x500"); | 1527 UpdateDisplay("400x500,300x200"); |
1524 | 1528 |
1525 // Defaults to the unified desktop. | 1529 // Defaults to the unified desktop. |
1526 gfx::Screen* screen = | 1530 gfx::Screen* screen = |
1527 gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE); | 1531 gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE); |
1528 // The 1st display is scaled so that it has the same height as 2nd display. | 1532 // The 2nd display is scaled so that it has the same height as 1st display. |
1529 // 300 * 500 / 200 + 400 = 1150. | 1533 // 300 * 500 / 200 + 400 = 1150. |
1530 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); | 1534 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); |
1531 | 1535 |
1532 display_manager()->SetMirrorMode(true); | 1536 display_manager()->SetMirrorMode(true); |
1533 EXPECT_EQ("300x200", screen->GetPrimaryDisplay().size().ToString()); | 1537 EXPECT_EQ("400x500", screen->GetPrimaryDisplay().size().ToString()); |
1534 | 1538 |
1535 display_manager()->SetMirrorMode(false); | 1539 display_manager()->SetMirrorMode(false); |
1536 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); | 1540 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); |
1537 | 1541 |
1538 // Switch to single desktop. | 1542 // Switch to single desktop. |
1539 UpdateDisplay("500x300"); | 1543 UpdateDisplay("500x300"); |
1540 EXPECT_EQ("500x300", screen->GetPrimaryDisplay().size().ToString()); | 1544 EXPECT_EQ("500x300", screen->GetPrimaryDisplay().size().ToString()); |
1541 | 1545 |
1542 // Switch to unified desktop. | 1546 // Switch to unified desktop. |
1543 UpdateDisplay("500x300,400x500"); | 1547 UpdateDisplay("500x300,400x500"); |
1544 // 500 * 500 / 300 + 400 ~= 1233. | 1548 // 400 * 300 / 500 + 500 ~= 739. |
1545 EXPECT_EQ("1233x500", screen->GetPrimaryDisplay().size().ToString()); | 1549 EXPECT_EQ("739x300", screen->GetPrimaryDisplay().size().ToString()); |
| 1550 |
| 1551 // The default should fit to the internal display. |
| 1552 std::vector<DisplayInfo> display_info_list; |
| 1553 display_info_list.push_back(CreateDisplayInfo(10, gfx::Rect(0, 0, 500, 300))); |
| 1554 display_info_list.push_back( |
| 1555 CreateDisplayInfo(11, gfx::Rect(500, 0, 400, 500))); |
| 1556 { |
| 1557 test::ScopedSetInternalDisplayId set_internal(11); |
| 1558 display_manager()->OnNativeDisplaysChanged(display_info_list); |
| 1559 // 500 * 500 / 300 + 400 ~= 1233. |
| 1560 EXPECT_EQ("1233x500", screen->GetPrimaryDisplay().size().ToString()); |
| 1561 } |
1546 | 1562 |
1547 // Switch back to extended desktop. | 1563 // Switch back to extended desktop. |
1548 display_manager()->SetDefaultMultiDisplayMode(DisplayManager::EXTENDED); | 1564 display_manager()->SetDefaultMultiDisplayMode(DisplayManager::EXTENDED); |
1549 display_manager()->ReconfigureDisplays(); | 1565 display_manager()->ReconfigureDisplays(); |
1550 EXPECT_EQ("500x300", screen->GetPrimaryDisplay().size().ToString()); | 1566 EXPECT_EQ("500x300", screen->GetPrimaryDisplay().size().ToString()); |
1551 EXPECT_EQ("400x500", ScreenUtil::GetSecondaryDisplay().size().ToString()); | 1567 EXPECT_EQ("400x500", ScreenUtil::GetSecondaryDisplay().size().ToString()); |
1552 } | 1568 } |
1553 | 1569 |
| 1570 TEST_F(DisplayManagerTest, UnifiedDesktopWith2xDSF) { |
| 1571 if (!SupportsMultipleDisplays()) |
| 1572 return; |
| 1573 // Don't check root window destruction in unified mode. |
| 1574 Shell::GetPrimaryRootWindow()->RemoveObserver(this); |
| 1575 |
| 1576 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); |
| 1577 gfx::Screen* screen = |
| 1578 gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE); |
| 1579 |
| 1580 // 2nd display is 2x. |
| 1581 UpdateDisplay("400x500,1000x800*2"); |
| 1582 DisplayInfo info = |
| 1583 display_manager()->GetDisplayInfo(screen->GetPrimaryDisplay().id()); |
| 1584 EXPECT_EQ(2u, info.display_modes().size()); |
| 1585 EXPECT_EQ("1640x800", info.display_modes()[0].size.ToString()); |
| 1586 EXPECT_EQ(2.0f, info.display_modes()[0].device_scale_factor); |
| 1587 EXPECT_EQ("1025x500", info.display_modes()[1].size.ToString()); |
| 1588 EXPECT_EQ(1.0f, info.display_modes()[1].device_scale_factor); |
| 1589 |
| 1590 // For 1x, 400 + 500 / 800 * 100 = 1025. |
| 1591 EXPECT_EQ("1025x500", screen->GetPrimaryDisplay().size().ToString()); |
| 1592 EXPECT_EQ("1025x500", |
| 1593 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1594 accelerators::ZoomInternalDisplay(false); |
| 1595 // (800 / 500 * 400 + 500) /2 = 820 |
| 1596 EXPECT_EQ("820x400", screen->GetPrimaryDisplay().size().ToString()); |
| 1597 EXPECT_EQ("820x400", |
| 1598 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1599 |
| 1600 // 1st display is 2x. |
| 1601 UpdateDisplay("1200x800*2,1000x1000"); |
| 1602 info = display_manager()->GetDisplayInfo(screen->GetPrimaryDisplay().id()); |
| 1603 EXPECT_EQ(2u, info.display_modes().size()); |
| 1604 EXPECT_EQ("2000x800", info.display_modes()[0].size.ToString()); |
| 1605 EXPECT_EQ(2.0f, info.display_modes()[0].device_scale_factor); |
| 1606 EXPECT_EQ("2500x1000", info.display_modes()[1].size.ToString()); |
| 1607 EXPECT_EQ(1.0f, info.display_modes()[1].device_scale_factor); |
| 1608 |
| 1609 // For 2x, (800 / 1000 * 1000 + 1200) / 2 = 1000 |
| 1610 EXPECT_EQ("1000x400", screen->GetPrimaryDisplay().size().ToString()); |
| 1611 EXPECT_EQ("1000x400", |
| 1612 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1613 accelerators::ZoomInternalDisplay(true); |
| 1614 // 1000 / 800 * 1200 + 1000 = 2500 |
| 1615 EXPECT_EQ("2500x1000", screen->GetPrimaryDisplay().size().ToString()); |
| 1616 EXPECT_EQ("2500x1000", |
| 1617 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1618 |
| 1619 // Both displays are 2x. |
| 1620 // 1st display is 2x. |
| 1621 UpdateDisplay("1200x800*2,1000x1000*2"); |
| 1622 info = display_manager()->GetDisplayInfo(screen->GetPrimaryDisplay().id()); |
| 1623 EXPECT_EQ(2u, info.display_modes().size()); |
| 1624 EXPECT_EQ("2000x800", info.display_modes()[0].size.ToString()); |
| 1625 EXPECT_EQ(2.0f, info.display_modes()[0].device_scale_factor); |
| 1626 EXPECT_EQ("2500x1000", info.display_modes()[1].size.ToString()); |
| 1627 EXPECT_EQ(2.0f, info.display_modes()[1].device_scale_factor); |
| 1628 |
| 1629 EXPECT_EQ("1000x400", screen->GetPrimaryDisplay().size().ToString()); |
| 1630 EXPECT_EQ("1000x400", |
| 1631 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1632 accelerators::ZoomInternalDisplay(true); |
| 1633 EXPECT_EQ("1250x500", screen->GetPrimaryDisplay().size().ToString()); |
| 1634 EXPECT_EQ("1250x500", |
| 1635 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1636 |
| 1637 // Both displays have the same physical height, with the first display |
| 1638 // being 2x. |
| 1639 UpdateDisplay("1000x800*2,300x800"); |
| 1640 info = display_manager()->GetDisplayInfo(screen->GetPrimaryDisplay().id()); |
| 1641 EXPECT_EQ(2u, info.display_modes().size()); |
| 1642 EXPECT_EQ("1300x800", info.display_modes()[0].size.ToString()); |
| 1643 EXPECT_EQ(2.0f, info.display_modes()[0].device_scale_factor); |
| 1644 EXPECT_EQ("1300x800", info.display_modes()[1].size.ToString()); |
| 1645 EXPECT_EQ(1.0f, info.display_modes()[1].device_scale_factor); |
| 1646 |
| 1647 EXPECT_EQ("650x400", screen->GetPrimaryDisplay().size().ToString()); |
| 1648 EXPECT_EQ("650x400", |
| 1649 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1650 accelerators::ZoomInternalDisplay(true); |
| 1651 EXPECT_EQ("1300x800", screen->GetPrimaryDisplay().size().ToString()); |
| 1652 EXPECT_EQ("1300x800", |
| 1653 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1654 |
| 1655 // Both displays have the same physical height, with the second display |
| 1656 // being 2x. |
| 1657 UpdateDisplay("1000x800,300x800*2"); |
| 1658 EXPECT_EQ(2u, info.display_modes().size()); |
| 1659 EXPECT_EQ("1300x800", info.display_modes()[0].size.ToString()); |
| 1660 EXPECT_EQ(2.0f, info.display_modes()[0].device_scale_factor); |
| 1661 EXPECT_EQ("1300x800", info.display_modes()[1].size.ToString()); |
| 1662 EXPECT_EQ(1.0f, info.display_modes()[1].device_scale_factor); |
| 1663 |
| 1664 EXPECT_EQ("1300x800", screen->GetPrimaryDisplay().size().ToString()); |
| 1665 EXPECT_EQ("1300x800", |
| 1666 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1667 accelerators::ZoomInternalDisplay(false); |
| 1668 EXPECT_EQ("650x400", screen->GetPrimaryDisplay().size().ToString()); |
| 1669 EXPECT_EQ("650x400", |
| 1670 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); |
| 1671 } |
| 1672 |
1554 // Updating displays again in unified desktop mode should not crash. | 1673 // Updating displays again in unified desktop mode should not crash. |
1555 // crbug.com/491094. | 1674 // crbug.com/491094. |
1556 TEST_F(DisplayManagerTest, ConfigureUnifiedTwice) { | 1675 TEST_F(DisplayManagerTest, ConfigureUnifiedTwice) { |
1557 if (!SupportsMultipleDisplays()) | 1676 if (!SupportsMultipleDisplays()) |
1558 return; | 1677 return; |
1559 // Don't check root window destruction in unified mode. | 1678 // Don't check root window destruction in unified mode. |
1560 Shell::GetPrimaryRootWindow()->RemoveObserver(this); | 1679 Shell::GetPrimaryRootWindow()->RemoveObserver(this); |
1561 | 1680 |
1562 UpdateDisplay("300x200,400x500"); | 1681 UpdateDisplay("300x200,400x500"); |
1563 // Mirror windows are created in a posted task. | 1682 // Mirror windows are created in a posted task. |
1564 RunAllPendingInMessageLoop(); | 1683 RunAllPendingInMessageLoop(); |
1565 | 1684 |
1566 UpdateDisplay("300x250,400x550"); | 1685 UpdateDisplay("300x250,400x550"); |
1567 RunAllPendingInMessageLoop(); | 1686 RunAllPendingInMessageLoop(); |
1568 } | 1687 } |
1569 | 1688 |
1570 TEST_F(DisplayManagerTest, NoRotateUnifiedDesktop) { | 1689 TEST_F(DisplayManagerTest, NoRotateUnifiedDesktop) { |
1571 if (!SupportsMultipleDisplays()) | 1690 if (!SupportsMultipleDisplays()) |
1572 return; | 1691 return; |
1573 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); | 1692 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); |
1574 | 1693 |
1575 // Don't check root window destruction in unified mode. | 1694 // Don't check root window destruction in unified mode. |
1576 Shell::GetPrimaryRootWindow()->RemoveObserver(this); | 1695 Shell::GetPrimaryRootWindow()->RemoveObserver(this); |
1577 | 1696 |
1578 UpdateDisplay("300x200,400x500"); | 1697 UpdateDisplay("400x500,300x200"); |
1579 | 1698 |
1580 gfx::Screen* screen = | 1699 gfx::Screen* screen = |
1581 gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE); | 1700 gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_ALTERNATE); |
1582 const gfx::Display& display = screen->GetPrimaryDisplay(); | 1701 const gfx::Display& display = screen->GetPrimaryDisplay(); |
1583 EXPECT_EQ("1150x500", display.size().ToString()); | 1702 EXPECT_EQ("1150x500", display.size().ToString()); |
1584 display_manager()->SetDisplayRotation(display.id(), gfx::Display::ROTATE_90, | 1703 display_manager()->SetDisplayRotation(display.id(), gfx::Display::ROTATE_90, |
1585 gfx::Display::ROTATION_SOURCE_ACTIVE); | 1704 gfx::Display::ROTATION_SOURCE_ACTIVE); |
1586 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); | 1705 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); |
1587 display_manager()->SetDisplayRotation(display.id(), gfx::Display::ROTATE_0, | 1706 display_manager()->SetDisplayRotation(display.id(), gfx::Display::ROTATE_0, |
1588 gfx::Display::ROTATION_SOURCE_ACTIVE); | 1707 gfx::Display::ROTATION_SOURCE_ACTIVE); |
1589 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); | 1708 EXPECT_EQ("1150x500", screen->GetPrimaryDisplay().size().ToString()); |
1590 | 1709 |
1591 UpdateDisplay("300x200"); | 1710 UpdateDisplay("400x500"); |
1592 EXPECT_EQ("300x200", screen->GetPrimaryDisplay().size().ToString()); | 1711 EXPECT_EQ("400x500", screen->GetPrimaryDisplay().size().ToString()); |
1593 } | 1712 } |
1594 | 1713 |
1595 // Makes sure the transition from unified to single won't crash | 1714 // Makes sure the transition from unified to single won't crash |
1596 // with docked windows. | 1715 // with docked windows. |
1597 TEST_F(DisplayManagerTest, UnifiedWithDockWindows) { | 1716 TEST_F(DisplayManagerTest, UnifiedWithDockWindows) { |
1598 if (!SupportsMultipleDisplays()) | 1717 if (!SupportsMultipleDisplays()) |
1599 return; | 1718 return; |
1600 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); | 1719 test::DisplayManagerTestApi::EnableUnifiedDesktopForTest(); |
1601 | 1720 |
1602 // Don't check root window destruction in unified mode. | 1721 // Don't check root window destruction in unified mode. |
1603 Shell::GetPrimaryRootWindow()->RemoveObserver(this); | 1722 Shell::GetPrimaryRootWindow()->RemoveObserver(this); |
1604 | 1723 |
1605 UpdateDisplay("300x200,400x500"); | 1724 UpdateDisplay("400x500,300x200"); |
1606 | 1725 |
1607 scoped_ptr<aura::Window> docked( | 1726 scoped_ptr<aura::Window> docked( |
1608 CreateTestWindowInShellWithBounds(gfx::Rect(10, 10, 50, 50))); | 1727 CreateTestWindowInShellWithBounds(gfx::Rect(10, 10, 50, 50))); |
1609 docked->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_DOCKED); | 1728 docked->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_DOCKED); |
1610 ASSERT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); | 1729 ASSERT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); |
1611 // 47 pixels reserved for launcher shelf height. | 1730 // 47 pixels reserved for launcher shelf height. |
1612 EXPECT_EQ("0,0 250x453", docked->bounds().ToString()); | 1731 EXPECT_EQ("0,0 250x453", docked->bounds().ToString()); |
1613 UpdateDisplay("300x300"); | 1732 UpdateDisplay("300x300"); |
1614 // Make sure the window is still docked. | 1733 // Make sure the window is still docked. |
1615 EXPECT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); | 1734 EXPECT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1780 | 1899 |
1781 EXPECT_EQ(gfx::Display::ROTATE_90, | 1900 EXPECT_EQ(gfx::Display::ROTATE_90, |
1782 info.GetRotation(gfx::Display::ROTATION_SOURCE_USER)); | 1901 info.GetRotation(gfx::Display::ROTATION_SOURCE_USER)); |
1783 EXPECT_EQ(gfx::Display::ROTATE_90, | 1902 EXPECT_EQ(gfx::Display::ROTATE_90, |
1784 info.GetRotation(gfx::Display::ROTATION_SOURCE_ACTIVE)); | 1903 info.GetRotation(gfx::Display::ROTATION_SOURCE_ACTIVE)); |
1785 } | 1904 } |
1786 | 1905 |
1787 #endif // OS_CHROMEOS | 1906 #endif // OS_CHROMEOS |
1788 | 1907 |
1789 } // namespace ash | 1908 } // namespace ash |
OLD | NEW |