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/wm/workspace/workspace_layout_manager.h" | 5 #include "ash/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/public/cpp/config.h" | 10 #include "ash/public/cpp/config.h" |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 CreateTestWindow(gfx::Rect(1, 2, 30, 40))); | 213 CreateTestWindow(gfx::Rect(1, 2, 30, 40))); |
214 WmWindow* window = window_owner->window(); | 214 WmWindow* window = window_owner->window(); |
215 EXPECT_EQ(root_windows[0], window->GetRootWindow()); | 215 EXPECT_EQ(root_windows[0], window->GetRootWindow()); |
216 | 216 |
217 wm::WindowState* window_state = window->GetWindowState(); | 217 wm::WindowState* window_state = window->GetWindowState(); |
218 window_state->SetRestoreBoundsInScreen(gfx::Rect(400, 0, 30, 40)); | 218 window_state->SetRestoreBoundsInScreen(gfx::Rect(400, 0, 30, 40)); |
219 // Maximize the window in 2nd display as the restore bounds | 219 // Maximize the window in 2nd display as the restore bounds |
220 // is inside 2nd display. | 220 // is inside 2nd display. |
221 window_state->Maximize(); | 221 window_state->Maximize(); |
222 EXPECT_EQ(root_windows[1], window->GetRootWindow()); | 222 EXPECT_EQ(root_windows[1], window->GetRootWindow()); |
223 EXPECT_EQ( | 223 EXPECT_EQ(gfx::Rect(300, 0, 400, 500 - kShelfSize).ToString(), |
224 gfx::Rect(300, 0, 400, 500 - GetShelfConstant(SHELF_SIZE)).ToString(), | 224 window->GetBoundsInScreen().ToString()); |
225 window->GetBoundsInScreen().ToString()); | |
226 | 225 |
227 window_state->Restore(); | 226 window_state->Restore(); |
228 EXPECT_EQ(root_windows[1], window->GetRootWindow()); | 227 EXPECT_EQ(root_windows[1], window->GetRootWindow()); |
229 EXPECT_EQ("400,0 30x40", window->GetBoundsInScreen().ToString()); | 228 EXPECT_EQ("400,0 30x40", window->GetBoundsInScreen().ToString()); |
230 | 229 |
231 // If the restore bounds intersects with the current display, | 230 // If the restore bounds intersects with the current display, |
232 // don't move. | 231 // don't move. |
233 window_state->SetRestoreBoundsInScreen(gfx::Rect(295, 0, 30, 40)); | 232 window_state->SetRestoreBoundsInScreen(gfx::Rect(295, 0, 30, 40)); |
234 window_state->Maximize(); | 233 window_state->Maximize(); |
235 EXPECT_EQ(root_windows[1], window->GetRootWindow()); | 234 EXPECT_EQ(root_windows[1], window->GetRootWindow()); |
236 EXPECT_EQ( | 235 EXPECT_EQ(gfx::Rect(300, 0, 400, 500 - kShelfSize).ToString(), |
237 gfx::Rect(300, 0, 400, 500 - GetShelfConstant(SHELF_SIZE)).ToString(), | 236 window->GetBoundsInScreen().ToString()); |
238 window->GetBoundsInScreen().ToString()); | |
239 | 237 |
240 window_state->Restore(); | 238 window_state->Restore(); |
241 EXPECT_EQ(root_windows[1], window->GetRootWindow()); | 239 EXPECT_EQ(root_windows[1], window->GetRootWindow()); |
242 EXPECT_EQ("295,0 30x40", window->GetBoundsInScreen().ToString()); | 240 EXPECT_EQ("295,0 30x40", window->GetBoundsInScreen().ToString()); |
243 | 241 |
244 // Restoring widget state. | 242 // Restoring widget state. |
245 std::unique_ptr<views::Widget> w1(new views::Widget); | 243 std::unique_ptr<views::Widget> w1(new views::Widget); |
246 views::Widget::InitParams params; | 244 views::Widget::InitParams params; |
247 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 245 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
248 params.delegate = new MaximizeDelegateView(gfx::Rect(400, 0, 30, 40)); | 246 params.delegate = new MaximizeDelegateView(gfx::Rect(400, 0, 30, 40)); |
249 ConfigureWidgetInitParamsForDisplay(root_windows[0], ¶ms); | 247 ConfigureWidgetInitParamsForDisplay(root_windows[0], ¶ms); |
250 w1->Init(params); | 248 w1->Init(params); |
251 EXPECT_EQ(root_windows[0], | 249 EXPECT_EQ(root_windows[0], |
252 WmWindow::Get(w1->GetNativeWindow())->GetRootWindow()); | 250 WmWindow::Get(w1->GetNativeWindow())->GetRootWindow()); |
253 w1->Show(); | 251 w1->Show(); |
254 EXPECT_TRUE(w1->IsMaximized()); | 252 EXPECT_TRUE(w1->IsMaximized()); |
255 EXPECT_EQ(root_windows[1], | 253 EXPECT_EQ(root_windows[1], |
256 WmWindow::Get(w1->GetNativeWindow())->GetRootWindow()); | 254 WmWindow::Get(w1->GetNativeWindow())->GetRootWindow()); |
257 EXPECT_EQ( | 255 EXPECT_EQ(gfx::Rect(300, 0, 400, 500 - kShelfSize).ToString(), |
258 gfx::Rect(300, 0, 400, 500 - GetShelfConstant(SHELF_SIZE)).ToString(), | 256 w1->GetWindowBoundsInScreen().ToString()); |
259 w1->GetWindowBoundsInScreen().ToString()); | |
260 w1->Restore(); | 257 w1->Restore(); |
261 EXPECT_EQ(root_windows[1], | 258 EXPECT_EQ(root_windows[1], |
262 WmWindow::Get(w1->GetNativeWindow())->GetRootWindow()); | 259 WmWindow::Get(w1->GetNativeWindow())->GetRootWindow()); |
263 EXPECT_EQ("400,0 30x40", w1->GetWindowBoundsInScreen().ToString()); | 260 EXPECT_EQ("400,0 30x40", w1->GetWindowBoundsInScreen().ToString()); |
264 } | 261 } |
265 | 262 |
266 TEST_F(WorkspaceLayoutManagerTest, FullscreenInDisplayToBeRestored) { | 263 TEST_F(WorkspaceLayoutManagerTest, FullscreenInDisplayToBeRestored) { |
267 UpdateDisplay("300x400,400x500"); | 264 UpdateDisplay("300x400,400x500"); |
268 | 265 |
269 WmWindow::Windows root_windows = ShellPort::Get()->GetAllRootWindows(); | 266 WmWindow::Windows root_windows = ShellPort::Get()->GetAllRootWindows(); |
(...skipping 1006 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1276 window->SetBounds(keyboard_bounds()); | 1273 window->SetBounds(keyboard_bounds()); |
1277 window->GetWindowState()->set_ignore_keyboard_bounds_change(true); | 1274 window->GetWindowState()->set_ignore_keyboard_bounds_change(true); |
1278 window->Activate(); | 1275 window->Activate(); |
1279 | 1276 |
1280 EXPECT_EQ(keyboard_bounds(), window->GetBounds()); | 1277 EXPECT_EQ(keyboard_bounds(), window->GetBounds()); |
1281 ShowKeyboard(); | 1278 ShowKeyboard(); |
1282 EXPECT_EQ(keyboard_bounds(), window->GetBounds()); | 1279 EXPECT_EQ(keyboard_bounds(), window->GetBounds()); |
1283 } | 1280 } |
1284 | 1281 |
1285 } // namespace ash | 1282 } // namespace ash |
OLD | NEW |