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

Side by Side Diff: ash/wm/maximize_mode/maximize_mode_window_manager_unittest.cc

Issue 2766543002: Move even more from WmShell to Shell (Closed)
Patch Set: Created 3 years, 9 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 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 aura::Window* window = widget->GetNativeWindow(); 78 aura::Window* window = widget->GetNativeWindow();
79 window->SetBounds(bounds); 79 window->SetBounds(bounds);
80 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); 80 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL);
81 81
82 return window; 82 return window;
83 } 83 }
84 84
85 // Create the Maximized mode window manager. 85 // Create the Maximized mode window manager.
86 MaximizeModeWindowManager* CreateMaximizeModeWindowManager() { 86 MaximizeModeWindowManager* CreateMaximizeModeWindowManager() {
87 EXPECT_FALSE(maximize_mode_window_manager()); 87 EXPECT_FALSE(maximize_mode_window_manager());
88 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( 88 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
89 true); 89 true);
90 return maximize_mode_window_manager(); 90 return maximize_mode_window_manager();
91 } 91 }
92 92
93 // Destroy the maximized mode window manager. 93 // Destroy the maximized mode window manager.
94 void DestroyMaximizeModeWindowManager() { 94 void DestroyMaximizeModeWindowManager() {
95 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( 95 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
96 false); 96 false);
97 EXPECT_FALSE(maximize_mode_window_manager()); 97 EXPECT_FALSE(maximize_mode_window_manager());
98 } 98 }
99 99
100 // Get the maximze window manager. 100 // Get the maximze window manager.
101 MaximizeModeWindowManager* maximize_mode_window_manager() { 101 MaximizeModeWindowManager* maximize_mode_window_manager() {
102 return WmShell::Get() 102 return Shell::Get()
103 ->maximize_mode_controller() 103 ->maximize_mode_controller()
104 ->maximize_mode_window_manager_.get(); 104 ->maximize_mode_window_manager_.get();
105 } 105 }
106 106
107 // Resize our desktop. 107 // Resize our desktop.
108 void ResizeDesktop(int width_delta) { 108 void ResizeDesktop(int width_delta) {
109 gfx::Size size = 109 gfx::Size size =
110 display::Screen::GetScreen() 110 display::Screen::GetScreen()
111 ->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()) 111 ->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow())
112 .size(); 112 .size();
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 std::unique_ptr<aura::Window> w3( 764 std::unique_ptr<aura::Window> w3(
765 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); 765 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect));
766 std::unique_ptr<aura::Window> w4( 766 std::unique_ptr<aura::Window> w4(
767 CreateFixedSizeNonMaximizableWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); 767 CreateFixedSizeNonMaximizableWindow(ui::wm::WINDOW_TYPE_NORMAL, rect));
768 std::unique_ptr<aura::Window> w5( 768 std::unique_ptr<aura::Window> w5(
769 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); 769 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect));
770 770
771 // The windows should be in the reverse order of creation in the MRU list. 771 // The windows should be in the reverse order of creation in the MRU list.
772 { 772 {
773 aura::Window::Windows windows = WmWindow::ToAuraWindows( 773 aura::Window::Windows windows = WmWindow::ToAuraWindows(
774 WmShell::Get()->mru_window_tracker()->BuildMruWindowList()); 774 Shell::Get()->mru_window_tracker()->BuildMruWindowList());
775 775
776 EXPECT_EQ(w1.get(), windows[4]); 776 EXPECT_EQ(w1.get(), windows[4]);
777 EXPECT_EQ(w2.get(), windows[3]); 777 EXPECT_EQ(w2.get(), windows[3]);
778 EXPECT_EQ(w3.get(), windows[2]); 778 EXPECT_EQ(w3.get(), windows[2]);
779 EXPECT_EQ(w4.get(), windows[1]); 779 EXPECT_EQ(w4.get(), windows[1]);
780 EXPECT_EQ(w5.get(), windows[0]); 780 EXPECT_EQ(w5.get(), windows[0]);
781 } 781 }
782 782
783 // Activating the window manager should keep the order. 783 // Activating the window manager should keep the order.
784 MaximizeModeWindowManager* manager = CreateMaximizeModeWindowManager(); 784 MaximizeModeWindowManager* manager = CreateMaximizeModeWindowManager();
785 ASSERT_TRUE(manager); 785 ASSERT_TRUE(manager);
786 EXPECT_EQ(5, manager->GetNumberOfManagedWindows()); 786 EXPECT_EQ(5, manager->GetNumberOfManagedWindows());
787 { 787 {
788 aura::Window::Windows windows = WmWindow::ToAuraWindows( 788 aura::Window::Windows windows = WmWindow::ToAuraWindows(
789 WmShell::Get()->mru_window_tracker()->BuildMruWindowList()); 789 Shell::Get()->mru_window_tracker()->BuildMruWindowList());
790 // We do not test maximization here again since that was done already. 790 // We do not test maximization here again since that was done already.
791 EXPECT_EQ(w1.get(), windows[4]); 791 EXPECT_EQ(w1.get(), windows[4]);
792 EXPECT_EQ(w2.get(), windows[3]); 792 EXPECT_EQ(w2.get(), windows[3]);
793 EXPECT_EQ(w3.get(), windows[2]); 793 EXPECT_EQ(w3.get(), windows[2]);
794 EXPECT_EQ(w4.get(), windows[1]); 794 EXPECT_EQ(w4.get(), windows[1]);
795 EXPECT_EQ(w5.get(), windows[0]); 795 EXPECT_EQ(w5.get(), windows[0]);
796 } 796 }
797 797
798 // Destroying should still keep the order. 798 // Destroying should still keep the order.
799 DestroyMaximizeModeWindowManager(); 799 DestroyMaximizeModeWindowManager();
800 { 800 {
801 aura::Window::Windows windows = WmWindow::ToAuraWindows( 801 aura::Window::Windows windows = WmWindow::ToAuraWindows(
802 WmShell::Get()->mru_window_tracker()->BuildMruWindowList()); 802 Shell::Get()->mru_window_tracker()->BuildMruWindowList());
803 // We do not test maximization here again since that was done already. 803 // We do not test maximization here again since that was done already.
804 EXPECT_EQ(w1.get(), windows[4]); 804 EXPECT_EQ(w1.get(), windows[4]);
805 EXPECT_EQ(w2.get(), windows[3]); 805 EXPECT_EQ(w2.get(), windows[3]);
806 EXPECT_EQ(w3.get(), windows[2]); 806 EXPECT_EQ(w3.get(), windows[2]);
807 EXPECT_EQ(w4.get(), windows[1]); 807 EXPECT_EQ(w4.get(), windows[1]);
808 EXPECT_EQ(w5.get(), windows[0]); 808 EXPECT_EQ(w5.get(), windows[0]);
809 } 809 }
810 } 810 }
811 811
812 // Check that a restore state change does always restore to maximized. 812 // Check that a restore state change does always restore to maximized.
(...skipping 13 matching lines...) Expand all
826 DestroyMaximizeModeWindowManager(); 826 DestroyMaximizeModeWindowManager();
827 } 827 }
828 828
829 // Check that minimize and restore do the right thing. 829 // Check that minimize and restore do the right thing.
830 TEST_F(MaximizeModeWindowManagerTest, TestMinimize) { 830 TEST_F(MaximizeModeWindowManagerTest, TestMinimize) {
831 gfx::Rect rect(10, 10, 100, 100); 831 gfx::Rect rect(10, 10, 100, 100);
832 std::unique_ptr<aura::Window> window( 832 std::unique_ptr<aura::Window> window(
833 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect)); 833 CreateWindow(ui::wm::WINDOW_TYPE_NORMAL, rect));
834 wm::WindowState* window_state = wm::GetWindowState(window.get()); 834 wm::WindowState* window_state = wm::GetWindowState(window.get());
835 EXPECT_EQ(rect.ToString(), window->bounds().ToString()); 835 EXPECT_EQ(rect.ToString(), window->bounds().ToString());
836 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( 836 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
837 true); 837 true);
838 EXPECT_TRUE(window_state->IsMaximized()); 838 EXPECT_TRUE(window_state->IsMaximized());
839 EXPECT_FALSE(window_state->IsMinimized()); 839 EXPECT_FALSE(window_state->IsMinimized());
840 EXPECT_TRUE(window->IsVisible()); 840 EXPECT_TRUE(window->IsVisible());
841 841
842 window_state->Minimize(); 842 window_state->Minimize();
843 EXPECT_FALSE(window_state->IsMaximized()); 843 EXPECT_FALSE(window_state->IsMaximized());
844 EXPECT_TRUE(window_state->IsMinimized()); 844 EXPECT_TRUE(window_state->IsMinimized());
845 EXPECT_FALSE(window->IsVisible()); 845 EXPECT_FALSE(window->IsVisible());
846 846
847 window_state->Maximize(); 847 window_state->Maximize();
848 EXPECT_TRUE(window_state->IsMaximized()); 848 EXPECT_TRUE(window_state->IsMaximized());
849 EXPECT_FALSE(window_state->IsMinimized()); 849 EXPECT_FALSE(window_state->IsMinimized());
850 EXPECT_TRUE(window->IsVisible()); 850 EXPECT_TRUE(window->IsVisible());
851 851
852 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( 852 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
853 false); 853 false);
854 EXPECT_FALSE(window_state->IsMaximized()); 854 EXPECT_FALSE(window_state->IsMaximized());
855 EXPECT_FALSE(window_state->IsMinimized()); 855 EXPECT_FALSE(window_state->IsMinimized());
856 EXPECT_TRUE(window->IsVisible()); 856 EXPECT_TRUE(window->IsVisible());
857 } 857 }
858 858
859 // Check that a full screen window remains full screen upon entering maximize 859 // Check that a full screen window remains full screen upon entering maximize
860 // mode. Furthermore, checks that this window is not full screen upon exiting 860 // mode. Furthermore, checks that this window is not full screen upon exiting
861 // maximize mode if it was un-full-screened while in maximize mode. 861 // maximize mode if it was un-full-screened while in maximize mode.
862 TEST_F(MaximizeModeWindowManagerTest, KeepFullScreenModeOn) { 862 TEST_F(MaximizeModeWindowManagerTest, KeepFullScreenModeOn) {
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
1228 generator.PressLeftButton(); 1228 generator.PressLeftButton();
1229 generator.MoveMouseBy(10, 5); 1229 generator.MoveMouseBy(10, 5);
1230 RunAllPendingInMessageLoop(); 1230 RunAllPendingInMessageLoop();
1231 generator.ReleaseLeftButton(); 1231 generator.ReleaseLeftButton();
1232 gfx::Point first_dragged_origin = window->bounds().origin(); 1232 gfx::Point first_dragged_origin = window->bounds().origin();
1233 EXPECT_EQ(rect.x() + 10, first_dragged_origin.x()); 1233 EXPECT_EQ(rect.x() + 10, first_dragged_origin.x());
1234 EXPECT_EQ(rect.y() + 5, first_dragged_origin.y()); 1234 EXPECT_EQ(rect.y() + 5, first_dragged_origin.y());
1235 1235
1236 // 2. Check that turning on the manager will stop allowing the window from 1236 // 2. Check that turning on the manager will stop allowing the window from
1237 // dragging. 1237 // dragging.
1238 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( 1238 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
1239 true); 1239 true);
1240 gfx::Rect center_bounds(window->bounds()); 1240 gfx::Rect center_bounds(window->bounds());
1241 EXPECT_NE(rect.origin().ToString(), center_bounds.origin().ToString()); 1241 EXPECT_NE(rect.origin().ToString(), center_bounds.origin().ToString());
1242 generator.MoveMouseTo( 1242 generator.MoveMouseTo(
1243 gfx::Point(center_bounds.x() + 1, center_bounds.y() + 1)); 1243 gfx::Point(center_bounds.x() + 1, center_bounds.y() + 1));
1244 generator.PressLeftButton(); 1244 generator.PressLeftButton();
1245 generator.MoveMouseBy(10, 5); 1245 generator.MoveMouseBy(10, 5);
1246 RunAllPendingInMessageLoop(); 1246 RunAllPendingInMessageLoop();
1247 generator.ReleaseLeftButton(); 1247 generator.ReleaseLeftButton();
1248 EXPECT_EQ(center_bounds.x(), window->bounds().x()); 1248 EXPECT_EQ(center_bounds.x(), window->bounds().x());
1249 EXPECT_EQ(center_bounds.y(), window->bounds().y()); 1249 EXPECT_EQ(center_bounds.y(), window->bounds().y());
1250 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( 1250 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
1251 false); 1251 false);
1252 1252
1253 // 3. Releasing the mazimize manager again will restore the window to its 1253 // 3. Releasing the mazimize manager again will restore the window to its
1254 // previous bounds and 1254 // previous bounds and
1255 generator.MoveMouseTo( 1255 generator.MoveMouseTo(
1256 gfx::Point(first_dragged_origin.x() + 1, first_dragged_origin.y() + 1)); 1256 gfx::Point(first_dragged_origin.x() + 1, first_dragged_origin.y() + 1));
1257 generator.PressLeftButton(); 1257 generator.PressLeftButton();
1258 generator.MoveMouseBy(10, 5); 1258 generator.MoveMouseBy(10, 5);
1259 RunAllPendingInMessageLoop(); 1259 RunAllPendingInMessageLoop();
1260 generator.ReleaseLeftButton(); 1260 generator.ReleaseLeftButton();
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
1718 EXPECT_EQ(1, observer.GetPostCountAndReset()); 1718 EXPECT_EQ(1, observer.GetPostCountAndReset());
1719 EXPECT_EQ(wm::WINDOW_STATE_TYPE_MINIMIZED, 1719 EXPECT_EQ(wm::WINDOW_STATE_TYPE_MINIMIZED,
1720 observer.GetLastOldStateAndReset()); 1720 observer.GetLastOldStateAndReset());
1721 1721
1722 window_state->RemoveObserver(&observer); 1722 window_state->RemoveObserver(&observer);
1723 1723
1724 DestroyMaximizeModeWindowManager(); 1724 DestroyMaximizeModeWindowManager();
1725 } 1725 }
1726 1726
1727 } // namespace ash 1727 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/maximize_mode/maximize_mode_controller_unittest.cc ('k') | ash/wm/overview/window_selector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698