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

Side by Side Diff: ash/mus/container_ids.cc

Issue 2033843003: Makes ash/mus use RootWindowControllerCommon (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_mash_wm
Patch Set: tweaks Created 4 years, 6 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/mus/container_ids.h" 5 #include "ash/mus/container_ids.h"
6 6
7 #include "ash/common/shell_window_ids.h" 7 #include "ash/common/shell_window_ids.h"
8 #include "ash/public/interfaces/container.mojom.h" 8 #include "ash/public/interfaces/container.mojom.h"
9 9
10 using ash::mojom::Container; 10 using ash::mojom::Container;
11 11
12 namespace ash { 12 namespace ash {
13 namespace mus { 13 namespace mus {
14 14
15 const Container kActivationContainers[] = { 15 const int kActivationContainers[] = {
16 // TODO(sky): figure out right set of containers. I suspect this should be 16 kShellWindowId_VirtualKeyboardContainer,
17 // all non containers. 17 kShellWindowId_DefaultContainer,
18 Container::USER_PRIVATE_WINDOWS, 18 kShellWindowId_AlwaysOnTopContainer,
19 Container::USER_PRIVATE_ALWAYS_ON_TOP_WINDOWS, 19 kShellWindowId_DockedContainer,
20 Container::USER_PRIVATE_DOCKED_WINDOWS, 20 kShellWindowId_ShelfContainer,
21 Container::USER_PRIVATE_PRESENTATION_WINDOWS, 21 kShellWindowId_ShelfBubbleContainer,
22 Container::USER_PRIVATE_PANELS, Container::USER_PRIVATE_APP_LIST, 22 kShellWindowId_PanelContainer,
23 Container::USER_PRIVATE_SYSTEM_MODAL, Container::LOGIN, 23 kShellWindowId_AppListContainer,
24 // Bubble windows must be allowed to activate because some of them rely on 24 kShellWindowId_SystemModalContainer,
25 // deactivation to close. 25 kShellWindowId_LockScreenContainer,
26 Container::BUBBLES, 26 kShellWindowId_LockSystemModalContainer,
27 kShellWindowId_StatusContainer,
28 kShellWindowId_ImeWindowParentContainer,
29 kShellWindowId_MenuContainer,
30 kShellWindowId_SettingBubbleContainer,
31 kShellWindowId_OverlayContainer,
James Cook 2016/06/03 00:24:58 Where does this list come from? Does the order mat
sky 2016/06/03 03:07:03 Good call. They should be the same. updated.
27 }; 32 };
28 33
29 const size_t kNumActivationContainers = arraysize(kActivationContainers); 34 const size_t kNumActivationContainers = arraysize(kActivationContainers);
30 35
31 Container AshContainerToMashContainer(int ash_id) { 36 int MashContainerToAshShellWindowId(Container container) {
32 switch (ash_id) {
33 case kShellWindowId_UnparentedControlContainer:
34 case kShellWindowId_LockScreenContainer:
35 case kShellWindowId_LockSystemModalContainer:
36 // We should never be asked to parent windows of these types.
37 NOTREACHED();
38 return Container::USER_PRIVATE;
39
40 case kShellWindowId_DefaultContainer:
41 return Container::USER_PRIVATE_WINDOWS;
42
43 case kShellWindowId_AlwaysOnTopContainer:
44 return Container::USER_PRIVATE_ALWAYS_ON_TOP_WINDOWS;
45
46 case kShellWindowId_DockedContainer:
47 return Container::USER_PRIVATE_DOCKED_WINDOWS;
48
49 case kShellWindowId_ShelfContainer:
50 return Container::USER_PRIVATE_SHELF;
51
52 case kShellWindowId_PanelContainer:
53 return Container::USER_PRIVATE_PANELS;
54
55 case kShellWindowId_AppListContainer:
56 return Container::USER_PRIVATE_APP_LIST;
57
58 case kShellWindowId_SystemModalContainer:
59 return Container::USER_PRIVATE_SYSTEM_MODAL;
60
61 case kShellWindowId_MenuContainer:
62 return Container::MENUS;
63
64 case kShellWindowId_DragImageAndTooltipContainer:
65 return Container::DRAG_AND_TOOLTIPS;
66
67 default:
68 NOTREACHED();
69 }
70 return Container::USER_PRIVATE_WINDOWS;
71 }
72
73 int MashContainerToAshContainer(Container container) {
74 switch (container) { 37 switch (container) {
75 case Container::ROOT:
76 return kUnknownAshId;
77
78 case Container::ALL_USER_BACKGROUND:
79 return kUnknownAshId;
80
81 case Container::USER:
82 return kUnknownAshId;
83
84 case Container::USER_BACKGROUND: 38 case Container::USER_BACKGROUND:
85 return kUnknownAshId; 39 return kShellWindowId_DesktopBackgroundContainer;
86
87 case Container::USER_PRIVATE:
88 return kUnknownAshId;
89
90 case Container::USER_PRIVATE_WINDOWS:
91 return kShellWindowId_DefaultContainer;
92
93 case Container::USER_PRIVATE_ALWAYS_ON_TOP_WINDOWS:
94 return kShellWindowId_AlwaysOnTopContainer;
95
96 case Container::USER_PRIVATE_DOCKED_WINDOWS:
97 return kShellWindowId_DockedContainer;
98
99 case Container::USER_PRIVATE_PRESENTATION_WINDOWS:
100 return kUnknownAshId;
101 40
102 case Container::USER_PRIVATE_SHELF: 41 case Container::USER_PRIVATE_SHELF:
103 return kShellWindowId_ShelfContainer; 42 return kShellWindowId_ShelfContainer;
104 43
105 case Container::USER_PRIVATE_PANELS:
106 return kShellWindowId_PanelContainer;
107
108 case Container::USER_PRIVATE_APP_LIST:
109 return kShellWindowId_AppListContainer;
110
111 case Container::USER_PRIVATE_SYSTEM_MODAL:
112 return kShellWindowId_SystemModalContainer;
113
114 case Container::LOGIN:
115 return kUnknownAshId;
116
117 case Container::LOGIN_WINDOWS: 44 case Container::LOGIN_WINDOWS:
118 return kUnknownAshId; 45 return kShellWindowId_LockScreenContainer;
119
120 case Container::LOGIN_APP:
121 return kUnknownAshId;
122
123 case Container::LOGIN_SHELF:
124 return kUnknownAshId;
125 46
126 case Container::STATUS: 47 case Container::STATUS:
127 return kUnknownAshId; 48 return kShellWindowId_StatusContainer;
128 49
129 case Container::BUBBLES: 50 case Container::BUBBLES:
130 return kUnknownAshId; 51 // TODO(sky): this mapping isn't right, but BUBBLES should go away once
131 52 // http://crbug.com/616859 lands.
132 case Container::SYSTEM_MODAL_WINDOWS: 53 return kShellWindowId_SettingBubbleContainer;
133 return kUnknownAshId;
134
135 case Container::KEYBOARD:
136 return kUnknownAshId;
137 54
138 case Container::MENUS: 55 case Container::MENUS:
139 return kShellWindowId_MenuContainer; 56 return kShellWindowId_MenuContainer;
140 57
141 case Container::DRAG_AND_TOOLTIPS: 58 case Container::DRAG_AND_TOOLTIPS:
142 return kShellWindowId_DragImageAndTooltipContainer; 59 return kShellWindowId_DragImageAndTooltipContainer;
143
144 case Container::COUNT:
145 return kUnknownAshId;
146 } 60 }
147 return kUnknownAshId; 61 return kUnknownAshId;
148 } 62 }
149 63
150 } // namespace mus 64 } // namespace mus
151 } // namespace ash 65 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698