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/shell.h" | 5 #include "ash/shell.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
11 #include "ash/desktop_background/desktop_background_widget_controller.h" | 11 #include "ash/desktop_background/desktop_background_widget_controller.h" |
12 #include "ash/launcher/launcher.h" | 12 #include "ash/launcher/launcher.h" |
| 13 #include "ash/root_window_controller.h" |
13 #include "ash/shell_delegate.h" | 14 #include "ash/shell_delegate.h" |
14 #include "ash/shell_window_ids.h" | 15 #include "ash/shell_window_ids.h" |
15 #include "ash/test/ash_test_base.h" | 16 #include "ash/test/ash_test_base.h" |
16 #include "ash/wm/root_window_layout_manager.h" | 17 #include "ash/wm/root_window_layout_manager.h" |
17 #include "ash/wm/shelf_layout_manager.h" | 18 #include "ash/wm/shelf_layout_manager.h" |
18 #include "base/utf_string_conversions.h" | 19 #include "base/utf_string_conversions.h" |
19 #include "ui/aura/client/aura_constants.h" | 20 #include "ui/aura/client/aura_constants.h" |
20 #include "ui/aura/root_window.h" | 21 #include "ui/aura/root_window.h" |
21 #include "ui/aura/window.h" | 22 #include "ui/aura/window.h" |
22 #include "ui/gfx/size.h" | 23 #include "ui/gfx/size.h" |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 #else | 271 #else |
271 #define MAYBE_ManagedWindowModeBasics ManagedWindowModeBasics | 272 #define MAYBE_ManagedWindowModeBasics ManagedWindowModeBasics |
272 #endif | 273 #endif |
273 TEST_F(ShellTest, MAYBE_ManagedWindowModeBasics) { | 274 TEST_F(ShellTest, MAYBE_ManagedWindowModeBasics) { |
274 Shell* shell = Shell::GetInstance(); | 275 Shell* shell = Shell::GetInstance(); |
275 Shell::TestApi test_api(shell); | 276 Shell::TestApi test_api(shell); |
276 | 277 |
277 // We start with the usual window containers. | 278 // We start with the usual window containers. |
278 ExpectAllContainers(); | 279 ExpectAllContainers(); |
279 // Launcher is visible. | 280 // Launcher is visible. |
280 views::Widget* launcher_widget = shell->launcher()->widget(); | 281 views::Widget* launcher_widget = Launcher::ForPrimaryDisplay()->widget(); |
281 EXPECT_TRUE(launcher_widget->IsVisible()); | 282 EXPECT_TRUE(launcher_widget->IsVisible()); |
282 // Launcher is at bottom-left of screen. | 283 // Launcher is at bottom-left of screen. |
283 EXPECT_EQ(0, launcher_widget->GetWindowBoundsInScreen().x()); | 284 EXPECT_EQ(0, launcher_widget->GetWindowBoundsInScreen().x()); |
284 EXPECT_EQ(Shell::GetPrimaryRootWindow()->GetHostSize().height(), | 285 EXPECT_EQ(Shell::GetPrimaryRootWindow()->GetHostSize().height(), |
285 launcher_widget->GetWindowBoundsInScreen().bottom()); | 286 launcher_widget->GetWindowBoundsInScreen().bottom()); |
286 // We have a desktop background but not a bare layer. | 287 // We have a desktop background but not a bare layer. |
287 // TODO (antrim): enable once we find out why it fails component build. | 288 // TODO (antrim): enable once we find out why it fails component build. |
288 // internal::DesktopBackgroundWidgetController* background = | 289 // internal::DesktopBackgroundWidgetController* background = |
289 // Shell::GetPrimaryRootWindow()-> | 290 // Shell::GetPrimaryRootWindow()-> |
290 // GetProperty(internal::kWindowDesktopComponent); | 291 // GetProperty(internal::kWindowDesktopComponent); |
(...skipping 18 matching lines...) Expand all Loading... |
309 | 310 |
310 // Create a normal window. It is not maximized. | 311 // Create a normal window. It is not maximized. |
311 views::Widget::InitParams widget_params( | 312 views::Widget::InitParams widget_params( |
312 views::Widget::InitParams::TYPE_WINDOW); | 313 views::Widget::InitParams::TYPE_WINDOW); |
313 widget_params.bounds.SetRect(11, 22, 300, 400); | 314 widget_params.bounds.SetRect(11, 22, 300, 400); |
314 views::Widget* widget = CreateTestWindow(widget_params); | 315 views::Widget* widget = CreateTestWindow(widget_params); |
315 widget->Show(); | 316 widget->Show(); |
316 EXPECT_FALSE(widget->IsMaximized()); | 317 EXPECT_FALSE(widget->IsMaximized()); |
317 | 318 |
318 // Shelf defaults to visible. | 319 // Shelf defaults to visible. |
319 EXPECT_EQ(internal::ShelfLayoutManager::VISIBLE, | 320 EXPECT_EQ( |
320 Shell::GetInstance()->shelf()->visibility_state()); | 321 internal::ShelfLayoutManager::VISIBLE, |
| 322 Shell::GetPrimaryRootWindowController()->shelf()->visibility_state()); |
321 | 323 |
322 // Fullscreen window hides it. | 324 // Fullscreen window hides it. |
323 widget->SetFullscreen(true); | 325 widget->SetFullscreen(true); |
324 EXPECT_EQ(internal::ShelfLayoutManager::HIDDEN, | 326 EXPECT_EQ( |
325 Shell::GetInstance()->shelf()->visibility_state()); | 327 internal::ShelfLayoutManager::HIDDEN, |
| 328 Shell::GetPrimaryRootWindowController()->shelf()->visibility_state()); |
326 | 329 |
327 // Restoring the window restores it. | 330 // Restoring the window restores it. |
328 widget->Restore(); | 331 widget->Restore(); |
329 EXPECT_EQ(internal::ShelfLayoutManager::VISIBLE, | 332 EXPECT_EQ( |
330 Shell::GetInstance()->shelf()->visibility_state()); | 333 internal::ShelfLayoutManager::VISIBLE, |
| 334 Shell::GetPrimaryRootWindowController()->shelf()->visibility_state()); |
331 | 335 |
332 // Clean up. | 336 // Clean up. |
333 widget->Close(); | 337 widget->Close(); |
334 } | 338 } |
335 | 339 |
336 namespace { | 340 namespace { |
337 | 341 |
338 // Builds the list of parents from |window| to the root. The returned vector is | 342 // Builds the list of parents from |window| to the root. The returned vector is |
339 // in reverse order (|window| is first). | 343 // in reverse order (|window| is first). |
340 std::vector<aura::Window*> BuildPathToRoot(aura::Window* window) { | 344 std::vector<aura::Window*> BuildPathToRoot(aura::Window* window) { |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 private: | 409 private: |
406 DISALLOW_COPY_AND_ASSIGN(ShellTest2); | 410 DISALLOW_COPY_AND_ASSIGN(ShellTest2); |
407 }; | 411 }; |
408 | 412 |
409 TEST_F(ShellTest2, DontCrashWhenWindowDeleted) { | 413 TEST_F(ShellTest2, DontCrashWhenWindowDeleted) { |
410 window_.reset(new aura::Window(NULL)); | 414 window_.reset(new aura::Window(NULL)); |
411 window_->Init(ui::LAYER_NOT_DRAWN); | 415 window_->Init(ui::LAYER_NOT_DRAWN); |
412 } | 416 } |
413 | 417 |
414 } // namespace ash | 418 } // namespace ash |
OLD | NEW |