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

Side by Side Diff: ash/wm/stacking_controller.cc

Issue 1923983003: Makes WorkspaceLayoutManager use ash/wm/common types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 (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/stacking_controller.h" 5 #include "ash/wm/stacking_controller.h"
6 6
7 #include "ash/root_window_controller.h" 7 #include "ash/root_window_controller.h"
8 #include "ash/session/session_state_delegate.h" 8 #include "ash/session/session_state_delegate.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/shell_window_ids.h" 10 #include "ash/shell_window_ids.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 bool HasTransientParentWindow(const aura::Window* window) { 43 bool HasTransientParentWindow(const aura::Window* window) {
44 return ::wm::GetTransientParent(window) && 44 return ::wm::GetTransientParent(window) &&
45 ::wm::GetTransientParent(window)->type() != 45 ::wm::GetTransientParent(window)->type() !=
46 ui::wm::WINDOW_TYPE_UNKNOWN; 46 ui::wm::WINDOW_TYPE_UNKNOWN;
47 } 47 }
48 48
49 AlwaysOnTopController* GetAlwaysOnTopController(aura::Window* root_window) { 49 AlwaysOnTopController* GetAlwaysOnTopController(aura::Window* root_window) {
50 return GetRootWindowController(root_window)->always_on_top_controller(); 50 return GetRootWindowController(root_window)->always_on_top_controller();
51 } 51 }
52 52
53 aura::Window* GetContainerFromAlwaysOnTopController(aura::Window* root,
54 aura::Window* window) {
55 return wm::WmWindowAura::GetAuraWindow(
56 GetAlwaysOnTopController(root)->GetContainer(
57 wm::WmWindowAura::Get(window)));
58 }
59
53 } // namespace 60 } // namespace
54 61
55 //////////////////////////////////////////////////////////////////////////////// 62 ////////////////////////////////////////////////////////////////////////////////
56 // StackingController, public: 63 // StackingController, public:
57 64
58 StackingController::StackingController() { 65 StackingController::StackingController() {
59 } 66 }
60 67
61 StackingController::~StackingController() { 68 StackingController::~StackingController() {
62 } 69 }
(...skipping 14 matching lines...) Expand all
77 } 84 }
78 85
79 switch (window->type()) { 86 switch (window->type()) {
80 case ui::wm::WINDOW_TYPE_NORMAL: 87 case ui::wm::WINDOW_TYPE_NORMAL:
81 case ui::wm::WINDOW_TYPE_POPUP: 88 case ui::wm::WINDOW_TYPE_POPUP:
82 if (IsSystemModal(window)) 89 if (IsSystemModal(window))
83 return GetSystemModalContainer(target_root, window); 90 return GetSystemModalContainer(target_root, window);
84 else if (HasTransientParentWindow(window)) 91 else if (HasTransientParentWindow(window))
85 return RootWindowController::GetContainerForWindow( 92 return RootWindowController::GetContainerForWindow(
86 ::wm::GetTransientParent(window)); 93 ::wm::GetTransientParent(window));
87 return GetAlwaysOnTopController(target_root)->GetContainer(window); 94 return GetContainerFromAlwaysOnTopController(target_root, window);
88 case ui::wm::WINDOW_TYPE_CONTROL: 95 case ui::wm::WINDOW_TYPE_CONTROL:
89 return GetContainerById(target_root, 96 return GetContainerById(target_root,
90 kShellWindowId_UnparentedControlContainer); 97 kShellWindowId_UnparentedControlContainer);
91 case ui::wm::WINDOW_TYPE_PANEL: 98 case ui::wm::WINDOW_TYPE_PANEL:
92 if (wm::GetWindowState(window)->panel_attached()) 99 if (wm::GetWindowState(window)->panel_attached())
93 return GetContainerById(target_root, kShellWindowId_PanelContainer); 100 return GetContainerById(target_root, kShellWindowId_PanelContainer);
94 else 101 else
95 return GetAlwaysOnTopController(target_root)->GetContainer(window); 102 return GetContainerFromAlwaysOnTopController(target_root, window);
96 case ui::wm::WINDOW_TYPE_MENU: 103 case ui::wm::WINDOW_TYPE_MENU:
97 return GetContainerById(target_root, kShellWindowId_MenuContainer); 104 return GetContainerById(target_root, kShellWindowId_MenuContainer);
98 case ui::wm::WINDOW_TYPE_TOOLTIP: 105 case ui::wm::WINDOW_TYPE_TOOLTIP:
99 return GetContainerById(target_root, 106 return GetContainerById(target_root,
100 kShellWindowId_DragImageAndTooltipContainer); 107 kShellWindowId_DragImageAndTooltipContainer);
101 default: 108 default:
102 NOTREACHED() << "Window " << window->id() 109 NOTREACHED() << "Window " << window->id()
103 << " has unhandled type " << window->type(); 110 << " has unhandled type " << window->type();
104 break; 111 break;
105 } 112 }
(...skipping 27 matching lines...) Expand all
133 if (window_container_id < kShellWindowId_LockScreenContainer) { 140 if (window_container_id < kShellWindowId_LockScreenContainer) {
134 container = GetContainerById(root, kShellWindowId_SystemModalContainer); 141 container = GetContainerById(root, kShellWindowId_SystemModalContainer);
135 } else { 142 } else {
136 container = GetContainerById(root, kShellWindowId_LockSystemModalContainer); 143 container = GetContainerById(root, kShellWindowId_LockSystemModalContainer);
137 } 144 }
138 145
139 return container; 146 return container;
140 } 147 }
141 148
142 } // namespace ash 149 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698