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_SHELL_H_ | 5 #ifndef ASH_SHELL_H_ |
6 #define ASH_SHELL_H_ | 6 #define ASH_SHELL_H_ |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 class ShadowController; | 69 class ShadowController; |
70 class VisibilityController; | 70 class VisibilityController; |
71 class UserActivityDetector; | 71 class UserActivityDetector; |
72 class WindowModalityController; | 72 class WindowModalityController; |
73 } | 73 } |
74 | 74 |
75 namespace ash { | 75 namespace ash { |
76 | 76 |
77 class AcceleratorController; | 77 class AcceleratorController; |
78 class AccelerometerController; | 78 class AccelerometerController; |
| 79 class AcceleratorFilter; |
79 class AccessibilityDelegate; | 80 class AccessibilityDelegate; |
| 81 class AppListController; |
80 class AshNativeCursorManager; | 82 class AshNativeCursorManager; |
81 class AutoclickController; | 83 class AutoclickController; |
82 class DesktopBackgroundController; | |
83 class DisplayController; | |
84 class FirstRunHelper; | |
85 class GPUSupport; | |
86 class HighContrastController; | |
87 class LockStateController; | |
88 class MagnificationController; | |
89 class MediaDelegate; | |
90 class MruWindowTracker; | |
91 class NestedDispatcherController; | |
92 class NewWindowDelegate; | |
93 class PartialMagnificationController; | |
94 class PowerButtonController; | |
95 class WindowTreeHostFactory; | |
96 class ScreenAsh; | |
97 class SessionStateDelegate; | |
98 class Shelf; | |
99 class ShelfDelegate; | |
100 class ShelfItemDelegateManager; | |
101 class ShelfModel; | |
102 class ShellDelegate; | |
103 class ShellObserver; | |
104 class StickyKeysController; | |
105 class SystemTray; | |
106 class SystemTrayDelegate; | |
107 class SystemTrayNotifier; | |
108 class ToplevelWindowEventHandler; | |
109 class UserWallpaperDelegate; | |
110 class VideoDetector; | |
111 class WebNotificationTray; | |
112 class WindowCycleController; | |
113 class WindowPositioner; | |
114 class WindowSelectorController; | |
115 | |
116 namespace internal { | |
117 class AcceleratorFilter; | |
118 class AppListController; | |
119 class BluetoothNotificationController; | 84 class BluetoothNotificationController; |
120 class CaptureController; | 85 class CaptureController; |
| 86 class DesktopBackgroundController; |
121 class DisplayChangeObserver; | 87 class DisplayChangeObserver; |
| 88 class DisplayController; |
122 class DisplayErrorObserver; | 89 class DisplayErrorObserver; |
123 class DisplayManager; | 90 class DisplayManager; |
124 class DragDropController; | 91 class DragDropController; |
125 class EventClientImpl; | 92 class EventClientImpl; |
126 class EventRewriterEventFilter; | 93 class EventRewriterEventFilter; |
127 class EventTransformationHandler; | 94 class EventTransformationHandler; |
| 95 class FirstRunHelper; |
128 class FocusCycler; | 96 class FocusCycler; |
| 97 class GPUSupport; |
| 98 class HighContrastController; |
129 class KeyboardUMAEventFilter; | 99 class KeyboardUMAEventFilter; |
130 class LastWindowClosedLogoutReminder; | 100 class LastWindowClosedLogoutReminder; |
131 class LocaleNotificationController; | 101 class LocaleNotificationController; |
| 102 class LockStateController; |
132 class LogoutConfirmationController; | 103 class LogoutConfirmationController; |
| 104 class MagnificationController; |
133 class MaximizeModeWindowManager; | 105 class MaximizeModeWindowManager; |
| 106 class MediaDelegate; |
134 class MouseCursorEventFilter; | 107 class MouseCursorEventFilter; |
| 108 class MruWindowTracker; |
| 109 class NestedDispatcherController; |
| 110 class NewWindowDelegate; |
135 class OutputConfiguratorAnimation; | 111 class OutputConfiguratorAnimation; |
136 class OverlayEventFilter; | 112 class OverlayEventFilter; |
| 113 class PartialMagnificationController; |
| 114 class PowerButtonController; |
137 class PowerEventObserver; | 115 class PowerEventObserver; |
138 class ProjectingObserver; | 116 class ProjectingObserver; |
139 class ResizeShadowController; | 117 class ResizeShadowController; |
140 class ResolutionNotificationController; | 118 class ResolutionNotificationController; |
141 class RootWindowController; | 119 class RootWindowController; |
142 class ScopedTargetRootWindow; | 120 class ScopedTargetRootWindow; |
| 121 class ScreenAsh; |
143 class ScreenPositionController; | 122 class ScreenPositionController; |
| 123 class SessionStateDelegate; |
| 124 class Shelf; |
| 125 class ShelfDelegate; |
| 126 class ShelfItemDelegateManager; |
| 127 class ShelfModel; |
144 class ShelfWindowWatcher; | 128 class ShelfWindowWatcher; |
| 129 class ShellDelegate; |
| 130 class ShellObserver; |
145 class SlowAnimationEventFilter; | 131 class SlowAnimationEventFilter; |
146 class StatusAreaWidget; | 132 class StatusAreaWidget; |
| 133 class StickyKeysController; |
147 class SystemGestureEventFilter; | 134 class SystemGestureEventFilter; |
148 class SystemModalContainerEventFilter; | 135 class SystemModalContainerEventFilter; |
| 136 class SystemTray; |
| 137 class SystemTrayDelegate; |
| 138 class SystemTrayNotifier; |
| 139 class ToplevelWindowEventHandler; |
149 class TouchObserverHUD; | 140 class TouchObserverHUD; |
| 141 class UserActivityDetector; |
150 class UserActivityNotifier; | 142 class UserActivityNotifier; |
| 143 class UserWallpaperDelegate; |
151 class VideoActivityNotifier; | 144 class VideoActivityNotifier; |
152 } | 145 class VideoDetector; |
| 146 class WebNotificationTray; |
| 147 class WindowCycleController; |
| 148 class WindowPositioner; |
| 149 class WindowSelectorController; |
| 150 class WindowTreeHostFactory; |
153 | 151 |
154 namespace shell { | 152 namespace shell { |
155 class WindowWatcher; | 153 class WindowWatcher; |
156 } | 154 } |
157 | 155 |
158 namespace test { | 156 namespace test { |
159 class ShellTestApi; | 157 class ShellTestApi; |
160 } | 158 } |
161 | 159 |
162 // Shell is a singleton object that presents the Shell API and implements the | 160 // Shell is a singleton object that presents the Shell API and implements the |
163 // RootWindow's delegate interface. | 161 // RootWindow's delegate interface. |
164 // | 162 // |
165 // Upon creation, the Shell sets itself as the RootWindow's delegate, which | 163 // Upon creation, the Shell sets itself as the RootWindow's delegate, which |
166 // takes ownership of the Shell. | 164 // takes ownership of the Shell. |
167 class ASH_EXPORT Shell | 165 class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate, |
168 : public internal::SystemModalContainerEventFilterDelegate, | 166 public ui::EventTarget, |
169 public ui::EventTarget, | 167 public aura::client::ActivationChangeObserver { |
170 public aura::client::ActivationChangeObserver { | |
171 public: | 168 public: |
172 typedef std::vector<internal::RootWindowController*> RootWindowControllerList; | 169 typedef std::vector<RootWindowController*> RootWindowControllerList; |
173 | 170 |
174 enum Direction { | 171 enum Direction { |
175 FORWARD, | 172 FORWARD, |
176 BACKWARD | 173 BACKWARD |
177 }; | 174 }; |
178 | 175 |
179 // A shell must be explicitly created so that it can call |Init()| with the | 176 // A shell must be explicitly created so that it can call |Init()| with the |
180 // delegate set. |delegate| can be NULL (if not required for initialization). | 177 // delegate set. |delegate| can be NULL (if not required for initialization). |
181 // Takes ownership of |delegate|. | 178 // Takes ownership of |delegate|. |
182 static Shell* CreateInstance(ShellDelegate* delegate); | 179 static Shell* CreateInstance(ShellDelegate* delegate); |
183 | 180 |
184 // Should never be called before |CreateInstance()|. | 181 // Should never be called before |CreateInstance()|. |
185 static Shell* GetInstance(); | 182 static Shell* GetInstance(); |
186 | 183 |
187 // Returns true if the ash shell has been instantiated. | 184 // Returns true if the ash shell has been instantiated. |
188 static bool HasInstance(); | 185 static bool HasInstance(); |
189 | 186 |
190 static void DeleteInstance(); | 187 static void DeleteInstance(); |
191 | 188 |
192 // Returns the root window controller for the primary root window. | 189 // Returns the root window controller for the primary root window. |
193 // TODO(oshima): move this to |RootWindowController| | 190 // TODO(oshima): move this to |RootWindowController| |
194 static internal::RootWindowController* GetPrimaryRootWindowController(); | 191 static RootWindowController* GetPrimaryRootWindowController(); |
195 | 192 |
196 // Returns all root window controllers. | 193 // Returns all root window controllers. |
197 // TODO(oshima): move this to |RootWindowController| | 194 // TODO(oshima): move this to |RootWindowController| |
198 static RootWindowControllerList GetAllRootWindowControllers(); | 195 static RootWindowControllerList GetAllRootWindowControllers(); |
199 | 196 |
200 // Returns the primary root Window. The primary root Window is the one that | 197 // Returns the primary root Window. The primary root Window is the one that |
201 // has a launcher. | 198 // has a launcher. |
202 static aura::Window* GetPrimaryRootWindow(); | 199 static aura::Window* GetPrimaryRootWindow(); |
203 | 200 |
204 // Returns a root Window when used as a target when creating a new window. | 201 // Returns a root Window when used as a target when creating a new window. |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 bool IsMaximizeModeWindowManagerEnabled(); | 328 bool IsMaximizeModeWindowManagerEnabled(); |
332 | 329 |
333 keyboard::KeyboardController* keyboard_controller() { | 330 keyboard::KeyboardController* keyboard_controller() { |
334 return keyboard_controller_.get(); | 331 return keyboard_controller_.get(); |
335 } | 332 } |
336 | 333 |
337 AcceleratorController* accelerator_controller() { | 334 AcceleratorController* accelerator_controller() { |
338 return accelerator_controller_.get(); | 335 return accelerator_controller_.get(); |
339 } | 336 } |
340 | 337 |
341 internal::DisplayManager* display_manager() { | 338 DisplayManager* display_manager() { return display_manager_.get(); } |
342 return display_manager_.get(); | |
343 } | |
344 ::wm::InputMethodEventFilter* input_method_filter() { | 339 ::wm::InputMethodEventFilter* input_method_filter() { |
345 return input_method_filter_.get(); | 340 return input_method_filter_.get(); |
346 } | 341 } |
347 ::wm::CompoundEventFilter* env_filter() { | 342 ::wm::CompoundEventFilter* env_filter() { |
348 return env_filter_.get(); | 343 return env_filter_.get(); |
349 } | 344 } |
350 views::corewm::TooltipController* tooltip_controller() { | 345 views::corewm::TooltipController* tooltip_controller() { |
351 return tooltip_controller_.get(); | 346 return tooltip_controller_.get(); |
352 } | 347 } |
353 internal::OverlayEventFilter* overlay_filter() { | 348 OverlayEventFilter* overlay_filter() { return overlay_filter_.get(); } |
354 return overlay_filter_.get(); | |
355 } | |
356 DesktopBackgroundController* desktop_background_controller() { | 349 DesktopBackgroundController* desktop_background_controller() { |
357 return desktop_background_controller_.get(); | 350 return desktop_background_controller_.get(); |
358 } | 351 } |
359 PowerButtonController* power_button_controller() { | 352 PowerButtonController* power_button_controller() { |
360 return power_button_controller_.get(); | 353 return power_button_controller_.get(); |
361 } | 354 } |
362 LockStateController* lock_state_controller() { | 355 LockStateController* lock_state_controller() { |
363 return lock_state_controller_.get(); | 356 return lock_state_controller_.get(); |
364 } | 357 } |
365 MruWindowTracker* mru_window_tracker() { | 358 MruWindowTracker* mru_window_tracker() { |
366 return mru_window_tracker_.get(); | 359 return mru_window_tracker_.get(); |
367 } | 360 } |
368 ::wm::UserActivityDetector* user_activity_detector() { | 361 ::wm::UserActivityDetector* user_activity_detector() { |
369 return user_activity_detector_.get(); | 362 return user_activity_detector_.get(); |
370 } | 363 } |
371 VideoDetector* video_detector() { | 364 VideoDetector* video_detector() { |
372 return video_detector_.get(); | 365 return video_detector_.get(); |
373 } | 366 } |
374 WindowSelectorController* window_selector_controller() { | 367 WindowSelectorController* window_selector_controller() { |
375 return window_selector_controller_.get(); | 368 return window_selector_controller_.get(); |
376 } | 369 } |
377 internal::FocusCycler* focus_cycler() { | 370 FocusCycler* focus_cycler() { return focus_cycler_.get(); } |
378 return focus_cycler_.get(); | |
379 } | |
380 DisplayController* display_controller() { | 371 DisplayController* display_controller() { |
381 return display_controller_.get(); | 372 return display_controller_.get(); |
382 } | 373 } |
383 internal::MouseCursorEventFilter* mouse_cursor_filter() { | 374 MouseCursorEventFilter* mouse_cursor_filter() { |
384 return mouse_cursor_filter_.get(); | 375 return mouse_cursor_filter_.get(); |
385 } | 376 } |
386 internal::EventTransformationHandler* event_transformation_handler() { | 377 EventTransformationHandler* event_transformation_handler() { |
387 return event_transformation_handler_.get(); | 378 return event_transformation_handler_.get(); |
388 } | 379 } |
389 ::wm::CursorManager* cursor_manager() { return &cursor_manager_; } | 380 ::wm::CursorManager* cursor_manager() { return &cursor_manager_; } |
390 | 381 |
391 ShellDelegate* delegate() { return delegate_.get(); } | 382 ShellDelegate* delegate() { return delegate_.get(); } |
392 | 383 |
393 UserWallpaperDelegate* user_wallpaper_delegate() { | 384 UserWallpaperDelegate* user_wallpaper_delegate() { |
394 return user_wallpaper_delegate_.get(); | 385 return user_wallpaper_delegate_.get(); |
395 } | 386 } |
396 | 387 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 } | 473 } |
483 | 474 |
484 SystemTrayNotifier* system_tray_notifier() { | 475 SystemTrayNotifier* system_tray_notifier() { |
485 return system_tray_notifier_.get(); | 476 return system_tray_notifier_.get(); |
486 } | 477 } |
487 | 478 |
488 static void set_initially_hide_cursor(bool hide) { | 479 static void set_initially_hide_cursor(bool hide) { |
489 initially_hide_cursor_ = hide; | 480 initially_hide_cursor_ = hide; |
490 } | 481 } |
491 | 482 |
492 internal::ResizeShadowController* resize_shadow_controller() { | 483 ResizeShadowController* resize_shadow_controller() { |
493 return resize_shadow_controller_.get(); | 484 return resize_shadow_controller_.get(); |
494 } | 485 } |
495 | 486 |
496 // Made available for tests. | 487 // Made available for tests. |
497 ::wm::ShadowController* shadow_controller() { | 488 ::wm::ShadowController* shadow_controller() { |
498 return shadow_controller_.get(); | 489 return shadow_controller_.get(); |
499 } | 490 } |
500 | 491 |
501 // Starts the animation that occurs on first login. | 492 // Starts the animation that occurs on first login. |
502 void DoInitialWorkspaceAnimation(); | 493 void DoInitialWorkspaceAnimation(); |
503 | 494 |
504 AccelerometerController* accelerometer_controller() { | 495 AccelerometerController* accelerometer_controller() { |
505 return accelerometer_controller_.get(); | 496 return accelerometer_controller_.get(); |
506 } | 497 } |
507 | 498 |
508 #if defined(OS_CHROMEOS) | 499 #if defined(OS_CHROMEOS) |
509 // TODO(oshima): Move these objects to DisplayController. | 500 // TODO(oshima): Move these objects to DisplayController. |
510 ui::OutputConfigurator* output_configurator() { | 501 ui::OutputConfigurator* output_configurator() { |
511 return output_configurator_.get(); | 502 return output_configurator_.get(); |
512 } | 503 } |
513 internal::OutputConfiguratorAnimation* output_configurator_animation() { | 504 OutputConfiguratorAnimation* output_configurator_animation() { |
514 return output_configurator_animation_.get(); | 505 return output_configurator_animation_.get(); |
515 } | 506 } |
516 internal::DisplayErrorObserver* display_error_observer() { | 507 DisplayErrorObserver* display_error_observer() { |
517 return display_error_observer_.get(); | 508 return display_error_observer_.get(); |
518 } | 509 } |
519 | 510 |
520 internal::ResolutionNotificationController* | 511 ResolutionNotificationController* resolution_notification_controller() { |
521 resolution_notification_controller() { | |
522 return resolution_notification_controller_.get(); | 512 return resolution_notification_controller_.get(); |
523 } | 513 } |
524 | 514 |
525 internal::LogoutConfirmationController* logout_confirmation_controller() { | 515 LogoutConfirmationController* logout_confirmation_controller() { |
526 return logout_confirmation_controller_.get(); | 516 return logout_confirmation_controller_.get(); |
527 } | 517 } |
528 #endif // defined(OS_CHROMEOS) | 518 #endif // defined(OS_CHROMEOS) |
529 | 519 |
530 WindowTreeHostFactory* window_tree_host_factory() { | 520 WindowTreeHostFactory* window_tree_host_factory() { |
531 return window_tree_host_factory_.get(); | 521 return window_tree_host_factory_.get(); |
532 } | 522 } |
533 | 523 |
534 ShelfModel* shelf_model() { | 524 ShelfModel* shelf_model() { |
535 return shelf_model_.get(); | 525 return shelf_model_.get(); |
(...skipping 29 matching lines...) Expand all Loading... |
565 return sticky_keys_controller_.get(); | 555 return sticky_keys_controller_.get(); |
566 } | 556 } |
567 #endif // defined(OS_CHROMEOS) | 557 #endif // defined(OS_CHROMEOS) |
568 | 558 |
569 GPUSupport* gpu_support() { return gpu_support_.get(); } | 559 GPUSupport* gpu_support() { return gpu_support_.get(); } |
570 | 560 |
571 private: | 561 private: |
572 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); | 562 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); |
573 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); | 563 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); |
574 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); | 564 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); |
575 friend class internal::RootWindowController; | 565 friend class RootWindowController; |
576 friend class internal::ScopedTargetRootWindow; | 566 friend class ScopedTargetRootWindow; |
577 friend class test::ShellTestApi; | 567 friend class test::ShellTestApi; |
578 friend class shell::WindowWatcher; | 568 friend class shell::WindowWatcher; |
579 | 569 |
580 typedef std::pair<aura::Window*, gfx::Rect> WindowAndBoundsPair; | 570 typedef std::pair<aura::Window*, gfx::Rect> WindowAndBoundsPair; |
581 | 571 |
582 // Takes ownership of |delegate|. | 572 // Takes ownership of |delegate|. |
583 explicit Shell(ShellDelegate* delegate); | 573 explicit Shell(ShellDelegate* delegate); |
584 virtual ~Shell(); | 574 virtual ~Shell(); |
585 | 575 |
586 void Init(); | 576 void Init(); |
587 | 577 |
588 // Initializes virtual keyboard controller. | 578 // Initializes virtual keyboard controller. |
589 void InitKeyboard(); | 579 void InitKeyboard(); |
590 | 580 |
591 // Initializes the root window so that it can host browser windows. | 581 // Initializes the root window so that it can host browser windows. |
592 void InitRootWindow(aura::Window* root_window); | 582 void InitRootWindow(aura::Window* root_window); |
593 | 583 |
594 // ash::internal::SystemModalContainerEventFilterDelegate overrides: | 584 // ash::SystemModalContainerEventFilterDelegate overrides: |
595 virtual bool CanWindowReceiveEvents(aura::Window* window) OVERRIDE; | 585 virtual bool CanWindowReceiveEvents(aura::Window* window) OVERRIDE; |
596 | 586 |
597 // Overridden from ui::EventTarget: | 587 // Overridden from ui::EventTarget: |
598 virtual bool CanAcceptEvent(const ui::Event& event) OVERRIDE; | 588 virtual bool CanAcceptEvent(const ui::Event& event) OVERRIDE; |
599 virtual EventTarget* GetParentTarget() OVERRIDE; | 589 virtual EventTarget* GetParentTarget() OVERRIDE; |
600 virtual scoped_ptr<ui::EventTargetIterator> GetChildIterator() const OVERRIDE; | 590 virtual scoped_ptr<ui::EventTargetIterator> GetChildIterator() const OVERRIDE; |
601 virtual ui::EventTargeter* GetEventTargeter() OVERRIDE; | 591 virtual ui::EventTargeter* GetEventTargeter() OVERRIDE; |
602 virtual void OnEvent(ui::Event* event) OVERRIDE; | 592 virtual void OnEvent(ui::Event* event) OVERRIDE; |
603 | 593 |
604 // Overridden from aura::client::ActivationChangeObserver: | 594 // Overridden from aura::client::ActivationChangeObserver: |
(...skipping 25 matching lines...) Expand all Loading... |
630 scoped_ptr<ShellDelegate> delegate_; | 620 scoped_ptr<ShellDelegate> delegate_; |
631 scoped_ptr<SystemTrayDelegate> system_tray_delegate_; | 621 scoped_ptr<SystemTrayDelegate> system_tray_delegate_; |
632 scoped_ptr<SystemTrayNotifier> system_tray_notifier_; | 622 scoped_ptr<SystemTrayNotifier> system_tray_notifier_; |
633 scoped_ptr<UserWallpaperDelegate> user_wallpaper_delegate_; | 623 scoped_ptr<UserWallpaperDelegate> user_wallpaper_delegate_; |
634 scoped_ptr<SessionStateDelegate> session_state_delegate_; | 624 scoped_ptr<SessionStateDelegate> session_state_delegate_; |
635 scoped_ptr<AccessibilityDelegate> accessibility_delegate_; | 625 scoped_ptr<AccessibilityDelegate> accessibility_delegate_; |
636 scoped_ptr<NewWindowDelegate> new_window_delegate_; | 626 scoped_ptr<NewWindowDelegate> new_window_delegate_; |
637 scoped_ptr<MediaDelegate> media_delegate_; | 627 scoped_ptr<MediaDelegate> media_delegate_; |
638 scoped_ptr<ShelfDelegate> shelf_delegate_; | 628 scoped_ptr<ShelfDelegate> shelf_delegate_; |
639 scoped_ptr<ShelfItemDelegateManager> shelf_item_delegate_manager_; | 629 scoped_ptr<ShelfItemDelegateManager> shelf_item_delegate_manager_; |
640 scoped_ptr<internal::ShelfWindowWatcher> shelf_window_watcher_; | 630 scoped_ptr<ShelfWindowWatcher> shelf_window_watcher_; |
641 | 631 |
642 scoped_ptr<ShelfModel> shelf_model_; | 632 scoped_ptr<ShelfModel> shelf_model_; |
643 scoped_ptr<WindowPositioner> window_positioner_; | 633 scoped_ptr<WindowPositioner> window_positioner_; |
644 | 634 |
645 scoped_ptr<internal::AppListController> app_list_controller_; | 635 scoped_ptr<AppListController> app_list_controller_; |
646 | 636 |
647 scoped_ptr<internal::DragDropController> drag_drop_controller_; | 637 scoped_ptr<DragDropController> drag_drop_controller_; |
648 scoped_ptr<internal::ResizeShadowController> resize_shadow_controller_; | 638 scoped_ptr<ResizeShadowController> resize_shadow_controller_; |
649 scoped_ptr< ::wm::ShadowController> shadow_controller_; | 639 scoped_ptr< ::wm::ShadowController> shadow_controller_; |
650 scoped_ptr< ::wm::VisibilityController> visibility_controller_; | 640 scoped_ptr< ::wm::VisibilityController> visibility_controller_; |
651 scoped_ptr< ::wm::WindowModalityController> window_modality_controller_; | 641 scoped_ptr< ::wm::WindowModalityController> window_modality_controller_; |
652 scoped_ptr<views::corewm::TooltipController> tooltip_controller_; | 642 scoped_ptr<views::corewm::TooltipController> tooltip_controller_; |
653 scoped_ptr<DesktopBackgroundController> desktop_background_controller_; | 643 scoped_ptr<DesktopBackgroundController> desktop_background_controller_; |
654 scoped_ptr<PowerButtonController> power_button_controller_; | 644 scoped_ptr<PowerButtonController> power_button_controller_; |
655 scoped_ptr<LockStateController> lock_state_controller_; | 645 scoped_ptr<LockStateController> lock_state_controller_; |
656 scoped_ptr<MruWindowTracker> mru_window_tracker_; | 646 scoped_ptr<MruWindowTracker> mru_window_tracker_; |
657 scoped_ptr< ::wm::UserActivityDetector> user_activity_detector_; | 647 scoped_ptr< ::wm::UserActivityDetector> user_activity_detector_; |
658 scoped_ptr<VideoDetector> video_detector_; | 648 scoped_ptr<VideoDetector> video_detector_; |
659 scoped_ptr<WindowSelectorController> window_selector_controller_; | 649 scoped_ptr<WindowSelectorController> window_selector_controller_; |
660 scoped_ptr<internal::FocusCycler> focus_cycler_; | 650 scoped_ptr<FocusCycler> focus_cycler_; |
661 scoped_ptr<DisplayController> display_controller_; | 651 scoped_ptr<DisplayController> display_controller_; |
662 scoped_ptr<HighContrastController> high_contrast_controller_; | 652 scoped_ptr<HighContrastController> high_contrast_controller_; |
663 scoped_ptr<MagnificationController> magnification_controller_; | 653 scoped_ptr<MagnificationController> magnification_controller_; |
664 scoped_ptr<PartialMagnificationController> partial_magnification_controller_; | 654 scoped_ptr<PartialMagnificationController> partial_magnification_controller_; |
665 scoped_ptr<AutoclickController> autoclick_controller_; | 655 scoped_ptr<AutoclickController> autoclick_controller_; |
666 scoped_ptr<aura::client::FocusClient> focus_client_; | 656 scoped_ptr<aura::client::FocusClient> focus_client_; |
667 aura::client::ActivationClient* activation_client_; | 657 aura::client::ActivationClient* activation_client_; |
668 scoped_ptr<internal::MouseCursorEventFilter> mouse_cursor_filter_; | 658 scoped_ptr<MouseCursorEventFilter> mouse_cursor_filter_; |
669 scoped_ptr<internal::ScreenPositionController> screen_position_controller_; | 659 scoped_ptr<ScreenPositionController> screen_position_controller_; |
670 scoped_ptr<internal::SystemModalContainerEventFilter> modality_filter_; | 660 scoped_ptr<SystemModalContainerEventFilter> modality_filter_; |
671 scoped_ptr<internal::EventClientImpl> event_client_; | 661 scoped_ptr<EventClientImpl> event_client_; |
672 scoped_ptr<internal::EventTransformationHandler> | 662 scoped_ptr<EventTransformationHandler> event_transformation_handler_; |
673 event_transformation_handler_; | |
674 scoped_ptr<WindowTreeHostFactory> window_tree_host_factory_; | 663 scoped_ptr<WindowTreeHostFactory> window_tree_host_factory_; |
675 | 664 |
676 // An event filter that pre-handles key events while the partial | 665 // An event filter that pre-handles key events while the partial |
677 // screenshot UI or the keyboard overlay is active. | 666 // screenshot UI or the keyboard overlay is active. |
678 scoped_ptr<internal::OverlayEventFilter> overlay_filter_; | 667 scoped_ptr<OverlayEventFilter> overlay_filter_; |
679 | 668 |
680 // An event filter for logging keyboard-related metrics. | 669 // An event filter for logging keyboard-related metrics. |
681 scoped_ptr<internal::KeyboardUMAEventFilter> keyboard_metrics_filter_; | 670 scoped_ptr<KeyboardUMAEventFilter> keyboard_metrics_filter_; |
682 | 671 |
683 // An event filter which handles moving and resizing windows. | 672 // An event filter which handles moving and resizing windows. |
684 scoped_ptr<ToplevelWindowEventHandler> toplevel_window_event_handler_; | 673 scoped_ptr<ToplevelWindowEventHandler> toplevel_window_event_handler_; |
685 | 674 |
686 // An event filter which handles system level gestures | 675 // An event filter which handles system level gestures |
687 scoped_ptr<internal::SystemGestureEventFilter> system_gesture_filter_; | 676 scoped_ptr<SystemGestureEventFilter> system_gesture_filter_; |
688 | 677 |
689 // An event filter that pre-handles global accelerators. | 678 // An event filter that pre-handles global accelerators. |
690 scoped_ptr<internal::AcceleratorFilter> accelerator_filter_; | 679 scoped_ptr<AcceleratorFilter> accelerator_filter_; |
691 | 680 |
692 // An event filter that pre-handles all key events to send them to an IME. | 681 // An event filter that pre-handles all key events to send them to an IME. |
693 scoped_ptr< ::wm::InputMethodEventFilter> input_method_filter_; | 682 scoped_ptr< ::wm::InputMethodEventFilter> input_method_filter_; |
694 | 683 |
695 scoped_ptr<internal::DisplayManager> display_manager_; | 684 scoped_ptr<DisplayManager> display_manager_; |
696 scoped_ptr<base::WeakPtrFactory<internal::DisplayManager> > | 685 scoped_ptr<base::WeakPtrFactory<DisplayManager> > |
697 weak_display_manager_factory_; | 686 weak_display_manager_factory_; |
698 | 687 |
699 scoped_ptr<internal::LocaleNotificationController> | 688 scoped_ptr<LocaleNotificationController> locale_notification_controller_; |
700 locale_notification_controller_; | |
701 | 689 |
702 // The maximized window manager (if enabled). | 690 // The maximized window manager (if enabled). |
703 scoped_ptr<internal::MaximizeModeWindowManager> maximize_mode_window_manager_; | 691 scoped_ptr<MaximizeModeWindowManager> maximize_mode_window_manager_; |
704 | 692 |
705 scoped_ptr<AccelerometerController> accelerometer_controller_; | 693 scoped_ptr<AccelerometerController> accelerometer_controller_; |
706 | 694 |
707 #if defined(OS_CHROMEOS) | 695 #if defined(OS_CHROMEOS) |
708 scoped_ptr<internal::PowerEventObserver> power_event_observer_; | 696 scoped_ptr<PowerEventObserver> power_event_observer_; |
709 scoped_ptr<internal::UserActivityNotifier> user_activity_notifier_; | 697 scoped_ptr<UserActivityNotifier> user_activity_notifier_; |
710 scoped_ptr<internal::VideoActivityNotifier> video_activity_notifier_; | 698 scoped_ptr<VideoActivityNotifier> video_activity_notifier_; |
711 scoped_ptr<StickyKeysController> sticky_keys_controller_; | 699 scoped_ptr<StickyKeysController> sticky_keys_controller_; |
712 scoped_ptr<internal::ResolutionNotificationController> | 700 scoped_ptr<ResolutionNotificationController> |
713 resolution_notification_controller_; | 701 resolution_notification_controller_; |
714 scoped_ptr<internal::BluetoothNotificationController> | 702 scoped_ptr<BluetoothNotificationController> |
715 bluetooth_notification_controller_; | 703 bluetooth_notification_controller_; |
716 scoped_ptr<internal::LogoutConfirmationController> | 704 scoped_ptr<LogoutConfirmationController> logout_confirmation_controller_; |
717 logout_confirmation_controller_; | 705 scoped_ptr<LastWindowClosedLogoutReminder> |
718 scoped_ptr<internal::LastWindowClosedLogoutReminder> | |
719 last_window_closed_logout_reminder_; | 706 last_window_closed_logout_reminder_; |
720 // Controls video output device state. | 707 // Controls video output device state. |
721 scoped_ptr<ui::OutputConfigurator> output_configurator_; | 708 scoped_ptr<ui::OutputConfigurator> output_configurator_; |
722 scoped_ptr<internal::OutputConfiguratorAnimation> | 709 scoped_ptr<OutputConfiguratorAnimation> output_configurator_animation_; |
723 output_configurator_animation_; | 710 scoped_ptr<DisplayErrorObserver> display_error_observer_; |
724 scoped_ptr<internal::DisplayErrorObserver> display_error_observer_; | 711 scoped_ptr<ProjectingObserver> projecting_observer_; |
725 scoped_ptr<internal::ProjectingObserver> projecting_observer_; | |
726 | 712 |
727 // Listens for output changes and updates the display manager. | 713 // Listens for output changes and updates the display manager. |
728 scoped_ptr<internal::DisplayChangeObserver> display_change_observer_; | 714 scoped_ptr<DisplayChangeObserver> display_change_observer_; |
729 | 715 |
730 #if defined(USE_X11) | 716 #if defined(USE_X11) |
731 scoped_ptr<ui::EventHandler> magnifier_key_scroll_handler_; | 717 scoped_ptr<ui::EventHandler> magnifier_key_scroll_handler_; |
732 scoped_ptr<ui::EventHandler> speech_feedback_handler_; | 718 scoped_ptr<ui::EventHandler> speech_feedback_handler_; |
733 #endif // defined(USE_X11) | 719 #endif // defined(USE_X11) |
734 #endif // defined(OS_CHROMEOS) | 720 #endif // defined(OS_CHROMEOS) |
735 | 721 |
736 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a | 722 // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a |
737 // pointer to vend to test code. | 723 // pointer to vend to test code. |
738 AshNativeCursorManager* native_cursor_manager_; | 724 AshNativeCursorManager* native_cursor_manager_; |
739 ::wm::CursorManager cursor_manager_; | 725 ::wm::CursorManager cursor_manager_; |
740 | 726 |
741 ObserverList<ShellObserver> observers_; | 727 ObserverList<ShellObserver> observers_; |
742 | 728 |
743 // For testing only: simulate that a modal window is open | 729 // For testing only: simulate that a modal window is open |
744 bool simulate_modal_window_open_for_testing_; | 730 bool simulate_modal_window_open_for_testing_; |
745 | 731 |
746 bool is_touch_hud_projection_enabled_; | 732 bool is_touch_hud_projection_enabled_; |
747 | 733 |
748 // Injected content::GPUDataManager support. | 734 // Injected content::GPUDataManager support. |
749 scoped_ptr<GPUSupport> gpu_support_; | 735 scoped_ptr<GPUSupport> gpu_support_; |
750 | 736 |
751 DISALLOW_COPY_AND_ASSIGN(Shell); | 737 DISALLOW_COPY_AND_ASSIGN(Shell); |
752 }; | 738 }; |
753 | 739 |
754 } // namespace ash | 740 } // namespace ash |
755 | 741 |
756 #endif // ASH_SHELL_H_ | 742 #endif // ASH_SHELL_H_ |
OLD | NEW |