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 <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "ash/keyboard/keyboard_observer_register.h" | 9 #include "ash/keyboard/keyboard_observer_register.h" |
10 #include "ash/public/cpp/shell_window_ids.h" | 10 #include "ash/public/cpp/shell_window_ids.h" |
11 #include "ash/root_window_controller.h" | 11 #include "ash/root_window_controller.h" |
12 #include "ash/screen_util.h" | 12 #include "ash/screen_util.h" |
13 #include "ash/session/session_controller.h" | 13 #include "ash/session/session_controller.h" |
14 #include "ash/shelf/wm_shelf.h" | 14 #include "ash/shelf/shelf.h" |
15 #include "ash/shell.h" | 15 #include "ash/shell.h" |
16 #include "ash/wm/always_on_top_controller.h" | 16 #include "ash/wm/always_on_top_controller.h" |
17 #include "ash/wm/fullscreen_window_finder.h" | 17 #include "ash/wm/fullscreen_window_finder.h" |
18 #include "ash/wm/screen_pinning_controller.h" | 18 #include "ash/wm/screen_pinning_controller.h" |
19 #include "ash/wm/window_positioner.h" | 19 #include "ash/wm/window_positioner.h" |
20 #include "ash/wm/window_properties.h" | 20 #include "ash/wm/window_properties.h" |
21 #include "ash/wm/window_state.h" | 21 #include "ash/wm/window_state.h" |
22 #include "ash/wm/window_util.h" | 22 #include "ash/wm/window_util.h" |
23 #include "ash/wm/wm_event.h" | 23 #include "ash/wm/wm_event.h" |
24 #include "ash/wm/workspace/backdrop_controller.h" | 24 #include "ash/wm/workspace/backdrop_controller.h" |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 // If a user plugs an external display into a laptop running Aura the | 366 // If a user plugs an external display into a laptop running Aura the |
367 // display size will change. Maximized windows need to resize to match. | 367 // display size will change. Maximized windows need to resize to match. |
368 // We also do this when developers running Aura on a desktop manually resize | 368 // We also do this when developers running Aura on a desktop manually resize |
369 // the host window. | 369 // the host window. |
370 // We also need to do this when the work area insets changes. | 370 // We also need to do this when the work area insets changes. |
371 for (aura::Window* window : windows_) | 371 for (aura::Window* window : windows_) |
372 wm::GetWindowState(window)->OnWMEvent(event); | 372 wm::GetWindowState(window)->OnWMEvent(event); |
373 } | 373 } |
374 | 374 |
375 void WorkspaceLayoutManager::UpdateShelfVisibility() { | 375 void WorkspaceLayoutManager::UpdateShelfVisibility() { |
376 root_window_controller_->wm_shelf()->UpdateVisibilityState(); | 376 root_window_controller_->shelf()->UpdateVisibilityState(); |
377 } | 377 } |
378 | 378 |
379 void WorkspaceLayoutManager::UpdateFullscreenState() { | 379 void WorkspaceLayoutManager::UpdateFullscreenState() { |
380 // TODO(flackr): The fullscreen state is currently tracked per workspace | 380 // TODO(flackr): The fullscreen state is currently tracked per workspace |
381 // but the shell notification implies a per root window state. Currently | 381 // but the shell notification implies a per root window state. Currently |
382 // only windows in the default workspace container will go fullscreen but | 382 // only windows in the default workspace container will go fullscreen but |
383 // this should really be tracked by the RootWindowController since | 383 // this should really be tracked by the RootWindowController since |
384 // technically any container could get a fullscreen window. | 384 // technically any container could get a fullscreen window. |
385 if (window_->id() != kShellWindowId_DefaultContainer) | 385 if (window_->id() != kShellWindowId_DefaultContainer) |
386 return; | 386 return; |
(...skipping 14 matching lines...) Expand all Loading... |
401 for (aura::Window* window : windows) { | 401 for (aura::Window* window : windows) { |
402 wm::WindowState* window_state = wm::GetWindowState(window); | 402 wm::WindowState* window_state = wm::GetWindowState(window); |
403 if (window_on_top) | 403 if (window_on_top) |
404 window_state->DisableAlwaysOnTop(window_on_top); | 404 window_state->DisableAlwaysOnTop(window_on_top); |
405 else | 405 else |
406 window_state->RestoreAlwaysOnTop(); | 406 window_state->RestoreAlwaysOnTop(); |
407 } | 407 } |
408 } | 408 } |
409 | 409 |
410 } // namespace ash | 410 } // namespace ash |
OLD | NEW |