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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 | 171 |
168 // Returns true if the active workspace is in immersive mode. Exposed here | 172 // Returns true if the active workspace is in immersive mode. Exposed here |
169 // so clients of Ash don't need to know the details of workspace management. | 173 // so clients of Ash don't need to know the details of workspace management. |
170 bool IsImmersiveMode() const; | 174 bool IsImmersiveMode() const; |
171 | 175 |
172 private: | 176 private: |
173 // Creates each of the special window containers that holds windows of various | 177 // Creates each of the special window containers that holds windows of various |
174 // types in the shell UI. | 178 // types in the shell UI. |
175 void CreateContainersInRootWindow(aura::RootWindow* root_window); | 179 void CreateContainersInRootWindow(aura::RootWindow* root_window); |
176 | 180 |
| 181 // Initializes the virtual keyboard. |
| 182 void InitKeyboard(); |
| 183 |
177 scoped_ptr<aura::RootWindow> root_window_; | 184 scoped_ptr<aura::RootWindow> root_window_; |
178 RootWindowLayoutManager* root_window_layout_; | 185 RootWindowLayoutManager* root_window_layout_; |
179 | 186 |
180 scoped_ptr<StackingController> stacking_controller_; | 187 scoped_ptr<StackingController> stacking_controller_; |
181 | 188 |
| 189 scoped_ptr<keyboard::KeyboardController> keyboard_controller_; |
| 190 |
182 // The shelf for managing the launcher and the status widget. | 191 // The shelf for managing the launcher and the status widget. |
183 scoped_ptr<ShelfWidget> shelf_; | 192 scoped_ptr<ShelfWidget> shelf_; |
184 | 193 |
185 // Manages layout of panels. Owned by PanelContainer. | 194 // Manages layout of panels. Owned by PanelContainer. |
186 PanelLayoutManager* panel_layout_manager_; | 195 PanelLayoutManager* panel_layout_manager_; |
187 | 196 |
188 scoped_ptr<SystemBackgroundController> system_background_; | 197 scoped_ptr<SystemBackgroundController> system_background_; |
189 scoped_ptr<BootSplashScreen> boot_splash_screen_; | 198 scoped_ptr<BootSplashScreen> boot_splash_screen_; |
190 | 199 |
191 scoped_ptr<ScreenDimmer> screen_dimmer_; | 200 scoped_ptr<ScreenDimmer> screen_dimmer_; |
192 scoped_ptr<WorkspaceController> workspace_controller_; | 201 scoped_ptr<WorkspaceController> workspace_controller_; |
193 | 202 |
194 // Heads-up display for touch events. | 203 // Heads-up display for touch events. |
195 scoped_ptr<TouchObserverHUD> touch_observer_hud_; | 204 scoped_ptr<TouchObserverHUD> touch_observer_hud_; |
196 | 205 |
197 // We need to own event handlers for various containers. | 206 // We need to own event handlers for various containers. |
198 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; | 207 scoped_ptr<ToplevelWindowEventHandler> default_container_handler_; |
199 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_; | 208 scoped_ptr<ToplevelWindowEventHandler> always_on_top_container_handler_; |
200 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_; | 209 scoped_ptr<ToplevelWindowEventHandler> modal_container_handler_; |
201 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_; | 210 scoped_ptr<ToplevelWindowEventHandler> lock_modal_container_handler_; |
202 scoped_ptr<ToplevelWindowEventHandler> panel_container_handler_; | 211 scoped_ptr<ToplevelWindowEventHandler> panel_container_handler_; |
203 | 212 |
204 DISALLOW_COPY_AND_ASSIGN(RootWindowController); | 213 DISALLOW_COPY_AND_ASSIGN(RootWindowController); |
205 }; | 214 }; |
206 | 215 |
207 } // namespace internal | 216 } // namespace internal |
208 } // ash | 217 } // ash |
209 | 218 |
210 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ | 219 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ |
OLD | NEW |