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

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

Issue 224113005: Eliminate ash::internal namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « ash/wm/stacking_controller.h ('k') | ash/wm/stacking_controller_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_state_delegate.h" 8 #include "ash/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 26 matching lines...) Expand all
37 bool IsSystemModal(aura::Window* window) { 37 bool IsSystemModal(aura::Window* window) {
38 return window->GetProperty(aura::client::kModalKey) == ui::MODAL_TYPE_SYSTEM; 38 return window->GetProperty(aura::client::kModalKey) == ui::MODAL_TYPE_SYSTEM;
39 } 39 }
40 40
41 bool HasTransientParentWindow(const aura::Window* window) { 41 bool HasTransientParentWindow(const aura::Window* window) {
42 return ::wm::GetTransientParent(window) && 42 return ::wm::GetTransientParent(window) &&
43 ::wm::GetTransientParent(window)->type() != 43 ::wm::GetTransientParent(window)->type() !=
44 ui::wm::WINDOW_TYPE_UNKNOWN; 44 ui::wm::WINDOW_TYPE_UNKNOWN;
45 } 45 }
46 46
47 internal::AlwaysOnTopController* 47 AlwaysOnTopController* GetAlwaysOnTopController(aura::Window* root_window) {
48 GetAlwaysOnTopController(aura::Window* root_window) { 48 return GetRootWindowController(root_window)->always_on_top_controller();
49 return internal::GetRootWindowController(root_window)->
50 always_on_top_controller();
51 } 49 }
52 50
53 } // namespace 51 } // namespace
54 52
55 //////////////////////////////////////////////////////////////////////////////// 53 ////////////////////////////////////////////////////////////////////////////////
56 // StackingController, public: 54 // StackingController, public:
57 55
58 StackingController::StackingController() { 56 StackingController::StackingController() {
59 } 57 }
60 58
(...skipping 14 matching lines...) Expand all
75 } else { 73 } else {
76 target_root = FindContainerRoot(bounds); 74 target_root = FindContainerRoot(bounds);
77 } 75 }
78 76
79 switch (window->type()) { 77 switch (window->type()) {
80 case ui::wm::WINDOW_TYPE_NORMAL: 78 case ui::wm::WINDOW_TYPE_NORMAL:
81 case ui::wm::WINDOW_TYPE_POPUP: 79 case ui::wm::WINDOW_TYPE_POPUP:
82 if (IsSystemModal(window)) 80 if (IsSystemModal(window))
83 return GetSystemModalContainer(target_root, window); 81 return GetSystemModalContainer(target_root, window);
84 else if (HasTransientParentWindow(window)) 82 else if (HasTransientParentWindow(window))
85 return internal::RootWindowController::GetContainerForWindow( 83 return RootWindowController::GetContainerForWindow(
86 ::wm::GetTransientParent(window)); 84 ::wm::GetTransientParent(window));
87 return GetAlwaysOnTopController(target_root)->GetContainer(window); 85 return GetAlwaysOnTopController(target_root)->GetContainer(window);
88 case ui::wm::WINDOW_TYPE_CONTROL: 86 case ui::wm::WINDOW_TYPE_CONTROL:
89 return GetContainerById( 87 return GetContainerById(target_root,
90 target_root, internal::kShellWindowId_UnparentedControlContainer); 88 kShellWindowId_UnparentedControlContainer);
91 case ui::wm::WINDOW_TYPE_PANEL: 89 case ui::wm::WINDOW_TYPE_PANEL:
92 if (wm::GetWindowState(window)->panel_attached()) 90 if (wm::GetWindowState(window)->panel_attached())
93 return GetContainerById(target_root, 91 return GetContainerById(target_root, kShellWindowId_PanelContainer);
94 internal::kShellWindowId_PanelContainer);
95 else 92 else
96 return GetAlwaysOnTopController(target_root)->GetContainer(window); 93 return GetAlwaysOnTopController(target_root)->GetContainer(window);
97 case ui::wm::WINDOW_TYPE_MENU: 94 case ui::wm::WINDOW_TYPE_MENU:
98 return GetContainerById( 95 return GetContainerById(target_root, kShellWindowId_MenuContainer);
99 target_root, internal::kShellWindowId_MenuContainer);
100 case ui::wm::WINDOW_TYPE_TOOLTIP: 96 case ui::wm::WINDOW_TYPE_TOOLTIP:
101 return GetContainerById( 97 return GetContainerById(target_root,
102 target_root, internal::kShellWindowId_DragImageAndTooltipContainer); 98 kShellWindowId_DragImageAndTooltipContainer);
103 default: 99 default:
104 NOTREACHED() << "Window " << window->id() 100 NOTREACHED() << "Window " << window->id()
105 << " has unhandled type " << window->type(); 101 << " has unhandled type " << window->type();
106 break; 102 break;
107 } 103 }
108 return NULL; 104 return NULL;
109 } 105 }
110 106
111 //////////////////////////////////////////////////////////////////////////////// 107 ////////////////////////////////////////////////////////////////////////////////
112 // StackingController, private: 108 // StackingController, private:
113 109
114 aura::Window* StackingController::GetSystemModalContainer( 110 aura::Window* StackingController::GetSystemModalContainer(
115 aura::Window* root, 111 aura::Window* root,
116 aura::Window* window) const { 112 aura::Window* window) const {
117 DCHECK(IsSystemModal(window)); 113 DCHECK(IsSystemModal(window));
118 114
119 // If screen lock is not active and user session is active, 115 // If screen lock is not active and user session is active,
120 // all modal windows are placed into the normal modal container. 116 // all modal windows are placed into the normal modal container.
121 // In case of missing transient parent (it could happen for alerts from 117 // In case of missing transient parent (it could happen for alerts from
122 // background pages) assume that the window belongs to user session. 118 // background pages) assume that the window belongs to user session.
123 SessionStateDelegate* session_state_delegate = 119 SessionStateDelegate* session_state_delegate =
124 Shell::GetInstance()->session_state_delegate(); 120 Shell::GetInstance()->session_state_delegate();
125 if (!session_state_delegate->IsUserSessionBlocked() || 121 if (!session_state_delegate->IsUserSessionBlocked() ||
126 !::wm::GetTransientParent(window)) { 122 !::wm::GetTransientParent(window)) {
127 return GetContainerById(root, 123 return GetContainerById(root, kShellWindowId_SystemModalContainer);
128 internal::kShellWindowId_SystemModalContainer);
129 } 124 }
130 125
131 // Otherwise those that originate from LockScreen container and above are 126 // Otherwise those that originate from LockScreen container and above are
132 // placed in the screen lock modal container. 127 // placed in the screen lock modal container.
133 int window_container_id = 128 int window_container_id =
134 ::wm::GetTransientParent(window)->parent()->id(); 129 ::wm::GetTransientParent(window)->parent()->id();
135 aura::Window* container = NULL; 130 aura::Window* container = NULL;
136 if (window_container_id < internal::kShellWindowId_LockScreenContainer) { 131 if (window_container_id < kShellWindowId_LockScreenContainer) {
137 container = GetContainerById( 132 container = GetContainerById(root, kShellWindowId_SystemModalContainer);
138 root, internal::kShellWindowId_SystemModalContainer);
139 } else { 133 } else {
140 container = GetContainerById( 134 container = GetContainerById(root, kShellWindowId_LockSystemModalContainer);
141 root, internal::kShellWindowId_LockSystemModalContainer);
142 } 135 }
143 136
144 return container; 137 return container;
145 } 138 }
146 139
147 } // namespace ash 140 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/stacking_controller.h ('k') | ash/wm/stacking_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698