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/common/wm/workspace/workspace_layout_manager.h" | 5 #include "ash/common/wm/workspace/workspace_layout_manager.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "ash/aura/wm_window_aura.h" | 10 #include "ash/aura/wm_window_aura.h" |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 window_state->Minimize(); | 114 window_state->Minimize(); |
115 window_state->Restore(); | 115 window_state->Restore(); |
116 EXPECT_EQ("0,0 100x100", window_state->GetRestoreBoundsInScreen().ToString()); | 116 EXPECT_EQ("0,0 100x100", window_state->GetRestoreBoundsInScreen().ToString()); |
117 EXPECT_EQ("10,15 25x35", window.get()->bounds().ToString()); | 117 EXPECT_EQ("10,15 25x35", window.get()->bounds().ToString()); |
118 | 118 |
119 if (!SupportsMultipleDisplays()) | 119 if (!SupportsMultipleDisplays()) |
120 return; | 120 return; |
121 | 121 |
122 UpdateDisplay("400x300,500x400"); | 122 UpdateDisplay("400x300,500x400"); |
123 window->SetBoundsInScreen(gfx::Rect(600, 0, 100, 100), | 123 window->SetBoundsInScreen(gfx::Rect(600, 0, 100, 100), |
124 ScreenUtil::GetSecondaryDisplay()); | 124 display_manager()->GetSecondaryDisplay()); |
125 EXPECT_EQ(Shell::GetAllRootWindows()[1], window->GetRootWindow()); | 125 EXPECT_EQ(Shell::GetAllRootWindows()[1], window->GetRootWindow()); |
126 window_state->Minimize(); | 126 window_state->Minimize(); |
127 // This will not be used for un-minimizing window. | 127 // This will not be used for un-minimizing window. |
128 window_state->SetRestoreBoundsInScreen(gfx::Rect(0, 0, 100, 100)); | 128 window_state->SetRestoreBoundsInScreen(gfx::Rect(0, 0, 100, 100)); |
129 window_state->Restore(); | 129 window_state->Restore(); |
130 EXPECT_EQ("600,0 100x100", window->GetBoundsInScreen().ToString()); | 130 EXPECT_EQ("600,0 100x100", window->GetBoundsInScreen().ToString()); |
131 | 131 |
132 // Make sure the unminimized window moves inside the display when | 132 // Make sure the unminimized window moves inside the display when |
133 // 2nd display is disconnected. | 133 // 2nd display is disconnected. |
134 window_state->Minimize(); | 134 window_state->Minimize(); |
135 UpdateDisplay("400x300"); | 135 UpdateDisplay("400x300"); |
136 window_state->Restore(); | 136 window_state->Restore(); |
137 EXPECT_EQ(Shell::GetPrimaryRootWindow(), window->GetRootWindow()); | 137 EXPECT_EQ(Shell::GetPrimaryRootWindow(), window->GetRootWindow()); |
138 EXPECT_TRUE( | 138 EXPECT_TRUE( |
139 Shell::GetPrimaryRootWindow()->bounds().Intersects(window->bounds())); | 139 Shell::GetPrimaryRootWindow()->bounds().Intersects(window->bounds())); |
140 } | 140 } |
141 | 141 |
142 TEST_F(WorkspaceLayoutManagerTest, KeepMinimumVisibilityInDisplays) { | 142 TEST_F(WorkspaceLayoutManagerTest, KeepMinimumVisibilityInDisplays) { |
143 if (!SupportsMultipleDisplays()) | 143 if (!SupportsMultipleDisplays()) |
144 return; | 144 return; |
145 | 145 |
146 UpdateDisplay("300x400,400x500"); | 146 UpdateDisplay("300x400,400x500"); |
147 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); | 147 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); |
148 | 148 |
149 Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays( | 149 Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays( |
150 test::CreateDisplayLayout(display::DisplayPlacement::TOP, 0)); | 150 test::CreateDisplayLayout(display_manager(), |
| 151 display::DisplayPlacement::TOP, 0)); |
151 EXPECT_EQ("0,-500 400x500", root_windows[1]->GetBoundsInScreen().ToString()); | 152 EXPECT_EQ("0,-500 400x500", root_windows[1]->GetBoundsInScreen().ToString()); |
152 | 153 |
153 std::unique_ptr<aura::Window> window1( | 154 std::unique_ptr<aura::Window> window1( |
154 CreateTestWindowInShellWithBounds(gfx::Rect(10, -400, 200, 200))); | 155 CreateTestWindowInShellWithBounds(gfx::Rect(10, -400, 200, 200))); |
155 EXPECT_EQ("10,-400 200x200", window1->GetBoundsInScreen().ToString()); | 156 EXPECT_EQ("10,-400 200x200", window1->GetBoundsInScreen().ToString()); |
156 | 157 |
157 // Make sure the caption is visible. | 158 // Make sure the caption is visible. |
158 std::unique_ptr<aura::Window> window2( | 159 std::unique_ptr<aura::Window> window2( |
159 CreateTestWindowInShellWithBounds(gfx::Rect(10, -600, 200, 200))); | 160 CreateTestWindowInShellWithBounds(gfx::Rect(10, -600, 200, 200))); |
160 EXPECT_EQ("10,-500 200x200", window2->GetBoundsInScreen().ToString()); | 161 EXPECT_EQ("10,-500 200x200", window2->GetBoundsInScreen().ToString()); |
(...skipping 1146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1307 changed_window_bounds.Offset(0, -shift); | 1308 changed_window_bounds.Offset(0, -shift); |
1308 // Window should be shifted up. | 1309 // Window should be shifted up. |
1309 EXPECT_EQ(changed_window_bounds, window->bounds()); | 1310 EXPECT_EQ(changed_window_bounds, window->bounds()); |
1310 | 1311 |
1311 kb_controller->HideKeyboard( | 1312 kb_controller->HideKeyboard( |
1312 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); | 1313 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); |
1313 EXPECT_EQ(orig_window_bounds, window->bounds()); | 1314 EXPECT_EQ(orig_window_bounds, window->bounds()); |
1314 } | 1315 } |
1315 | 1316 |
1316 } // namespace ash | 1317 } // namespace ash |
OLD | NEW |