OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/common/wm/maximize_mode/maximize_mode_window_manager.h" | 5 #include "ash/common/wm/maximize_mode/maximize_mode_window_manager.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "ash/common/ash_switches.h" | 9 #include "ash/common/ash_switches.h" |
10 #include "ash/common/shelf/wm_shelf.h" | 10 #include "ash/common/shelf/wm_shelf.h" |
(...skipping 1553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1564 // The always-on-top windows should not change when leaving maximize mode. | 1564 // The always-on-top windows should not change when leaving maximize mode. |
1565 DestroyMaximizeModeWindowManager(); | 1565 DestroyMaximizeModeWindowManager(); |
1566 EXPECT_FALSE(wm::GetWindowState(w1.get())->IsMaximized()); | 1566 EXPECT_FALSE(wm::GetWindowState(w1.get())->IsMaximized()); |
1567 EXPECT_FALSE(wm::GetWindowState(w2.get())->IsMaximized()); | 1567 EXPECT_FALSE(wm::GetWindowState(w2.get())->IsMaximized()); |
1568 EXPECT_EQ(rect1.ToString(), w1->bounds().ToString()); | 1568 EXPECT_EQ(rect1.ToString(), w1->bounds().ToString()); |
1569 EXPECT_EQ(rect2.ToString(), w2->bounds().ToString()); | 1569 EXPECT_EQ(rect2.ToString(), w2->bounds().ToString()); |
1570 EXPECT_TRUE(wm::GetWindowState(w1.get())->can_be_dragged()); | 1570 EXPECT_TRUE(wm::GetWindowState(w1.get())->can_be_dragged()); |
1571 EXPECT_TRUE(wm::GetWindowState(w2.get())->can_be_dragged()); | 1571 EXPECT_TRUE(wm::GetWindowState(w2.get())->can_be_dragged()); |
1572 } | 1572 } |
1573 | 1573 |
1574 // Tests that docked windows are not maximized, and not tracked. | |
1575 TEST_F(MaximizeModeWindowManagerTest, DontMaximizeDockedWindows) { | |
1576 // Enable window docking for this test. | |
1577 base::CommandLine::ForCurrentProcess()->AppendSwitch( | |
1578 ash::switches::kAshEnableDockedWindows); | |
1579 | |
1580 gfx::Rect rect(10, 10, 200, 50); | |
1581 std::unique_ptr<aura::Window> window( | |
1582 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); | |
1583 | |
1584 wm::WMEvent dock_event(wm::WM_EVENT_DOCK); | |
1585 wm::GetWindowState(window.get())->OnWMEvent(&dock_event); | |
1586 EXPECT_TRUE(wm::GetWindowState(window.get())->IsDocked()); | |
1587 EXPECT_FALSE(wm::GetWindowState(window.get())->IsMaximized()); | |
1588 | |
1589 MaximizeModeWindowManager* manager = CreateMaximizeModeWindowManager(); | |
1590 EXPECT_TRUE(wm::GetWindowState(window.get())->IsDocked()); | |
1591 EXPECT_FALSE(wm::GetWindowState(window.get())->IsMaximized()); | |
1592 EXPECT_EQ(0, manager->GetNumberOfManagedWindows()); | |
1593 } | |
1594 | |
1595 // Tests that windows that can control maximized bounds are not maximized | 1574 // Tests that windows that can control maximized bounds are not maximized |
1596 // and not tracked. | 1575 // and not tracked. |
1597 TEST_F(MaximizeModeWindowManagerTest, DontMaximizeClientManagedWindows) { | 1576 TEST_F(MaximizeModeWindowManagerTest, DontMaximizeClientManagedWindows) { |
1598 gfx::Rect rect(10, 10, 200, 50); | 1577 gfx::Rect rect(10, 10, 200, 50); |
1599 std::unique_ptr<aura::Window> window( | 1578 std::unique_ptr<aura::Window> window( |
1600 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); | 1579 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); |
1601 | 1580 |
1602 wm::GetWindowState(window.get())->set_allow_set_bounds_in_maximized(true); | 1581 wm::GetWindowState(window.get())->set_allow_set_bounds_in_maximized(true); |
1603 | 1582 |
1604 MaximizeModeWindowManager* manager = CreateMaximizeModeWindowManager(); | 1583 MaximizeModeWindowManager* manager = CreateMaximizeModeWindowManager(); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1702 EXPECT_EQ(1, observer.GetPostCountAndReset()); | 1681 EXPECT_EQ(1, observer.GetPostCountAndReset()); |
1703 EXPECT_EQ(wm::WINDOW_STATE_TYPE_MINIMIZED, | 1682 EXPECT_EQ(wm::WINDOW_STATE_TYPE_MINIMIZED, |
1704 observer.GetLastOldStateAndReset()); | 1683 observer.GetLastOldStateAndReset()); |
1705 | 1684 |
1706 window_state->RemoveObserver(&observer); | 1685 window_state->RemoveObserver(&observer); |
1707 | 1686 |
1708 DestroyMaximizeModeWindowManager(); | 1687 DestroyMaximizeModeWindowManager(); |
1709 } | 1688 } |
1710 | 1689 |
1711 } // namespace ash | 1690 } // namespace ash |
OLD | NEW |