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 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_ | 5 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_ |
6 #define ASH_ROOT_WINDOW_CONTROLLER_H_ | 6 #define ASH_ROOT_WINDOW_CONTROLLER_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/shelf/shelf_types.h" | 9 #include "ash/shelf/shelf_types.h" |
10 #include "ash/system/user/login_status.h" | 10 #include "ash/system/user/login_status.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 class Point; | 23 class Point; |
24 } | 24 } |
25 | 25 |
26 namespace views { | 26 namespace views { |
27 namespace corewm { | 27 namespace corewm { |
28 class InputMethodEventFilter; | 28 class InputMethodEventFilter; |
29 class RootWindowEventFilter; | 29 class RootWindowEventFilter; |
30 } | 30 } |
31 } | 31 } |
32 | 32 |
| 33 namespace keyboard { |
| 34 class KeyboardController; |
| 35 } |
| 36 |
33 namespace ash { | 37 namespace ash { |
34 class StackingController; | 38 class StackingController; |
35 class ShelfWidget; | 39 class ShelfWidget; |
36 class SystemTray; | 40 class SystemTray; |
37 class ToplevelWindowEventHandler; | 41 class ToplevelWindowEventHandler; |
38 | 42 |
39 namespace internal { | 43 namespace internal { |
40 | 44 |
41 class BootSplashScreen; | 45 class BootSplashScreen; |
42 class PanelLayoutManager; | 46 class PanelLayoutManager; |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 | 163 |
160 // Returns true if the active workspace is in immersive mode. Exposed here | 164 // Returns true if the active workspace is in immersive mode. Exposed here |
161 // so clients of Ash don't need to know the details of workspace management. | 165 // so clients of Ash don't need to know the details of workspace management. |
162 bool IsImmersiveMode() const; | 166 bool IsImmersiveMode() const; |
163 | 167 |
164 private: | 168 private: |
165 // Creates each of the special window containers that holds windows of various | 169 // Creates each of the special window containers that holds windows of various |
166 // types in the shell UI. | 170 // types in the shell UI. |
167 void CreateContainersInRootWindow(aura::RootWindow* root_window); | 171 void CreateContainersInRootWindow(aura::RootWindow* root_window); |
168 | 172 |
| 173 // Initializes the virtual keyboard, placing it in |parent|. |
| 174 void InitKeyboard(aura::Window* parent); |
| 175 |
169 scoped_ptr<aura::RootWindow> root_window_; | 176 scoped_ptr<aura::RootWindow> root_window_; |
170 RootWindowLayoutManager* root_window_layout_; | 177 RootWindowLayoutManager* root_window_layout_; |
171 | 178 |
172 scoped_ptr<StackingController> stacking_controller_; | 179 scoped_ptr<StackingController> stacking_controller_; |
173 | 180 |
| 181 scoped_ptr<keyboard::KeyboardController> keyboard_controller_; |
| 182 |
174 // The shelf for managing the launcher and the status widget. | 183 // The shelf for managing the launcher and the status widget. |
175 scoped_ptr<ShelfWidget> shelf_; | 184 scoped_ptr<ShelfWidget> shelf_; |
176 | 185 |
177 // Manages layout of panels. Owned by PanelContainer. | 186 // Manages layout of panels. Owned by PanelContainer. |
178 PanelLayoutManager* panel_layout_manager_; | 187 PanelLayoutManager* panel_layout_manager_; |
179 | 188 |
180 scoped_ptr<SystemBackgroundController> system_background_; | 189 scoped_ptr<SystemBackgroundController> system_background_; |
181 scoped_ptr<BootSplashScreen> boot_splash_screen_; | 190 scoped_ptr<BootSplashScreen> boot_splash_screen_; |
182 | 191 |
183 scoped_ptr<ScreenDimmer> screen_dimmer_; | 192 scoped_ptr<ScreenDimmer> screen_dimmer_; |
184 scoped_ptr<WorkspaceController> workspace_controller_; | 193 scoped_ptr<WorkspaceController> workspace_controller_; |
185 | 194 |
186 // We need to own event handlers for various containers. | 195 // We need to own event handlers for various containers. |
187 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; | 196 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; |
188 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_; | 197 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_; |
189 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_; | 198 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_; |
190 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_; | 199 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_; |
191 scoped_ptr<ToplevelWindowEventHandler> panel_container_handler_; | 200 scoped_ptr<ToplevelWindowEventHandler> panel_container_handler_; |
192 | 201 |
193 DISALLOW_COPY_AND_ASSIGN(RootWindowController); | 202 DISALLOW_COPY_AND_ASSIGN(RootWindowController); |
194 }; | 203 }; |
195 | 204 |
196 } // namespace internal | 205 } // namespace internal |
197 } // ash | 206 } // ash |
198 | 207 |
199 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ | 208 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ |
OLD | NEW |