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 <memory> | 8 #include <memory> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 class ResizeShadowController; | 102 class ResizeShadowController; |
103 class ResolutionNotificationController; | 103 class ResolutionNotificationController; |
104 class RootWindowController; | 104 class RootWindowController; |
105 class ScopedOverviewAnimationSettingsFactoryAura; | 105 class ScopedOverviewAnimationSettingsFactoryAura; |
106 class ScreenOrientationController; | 106 class ScreenOrientationController; |
107 class ScreenshotController; | 107 class ScreenshotController; |
108 class ScreenPinningController; | 108 class ScreenPinningController; |
109 class ScreenPositionController; | 109 class ScreenPositionController; |
110 class SessionStateDelegate; | 110 class SessionStateDelegate; |
111 struct ShellInitParams; | 111 struct ShellInitParams; |
| 112 class ShellObserver; |
112 class ShutdownObserver; | 113 class ShutdownObserver; |
113 class SmsObserver; | 114 class SmsObserver; |
114 class StickyKeysController; | 115 class StickyKeysController; |
115 class SystemGestureEventFilter; | 116 class SystemGestureEventFilter; |
116 class SystemModalContainerEventFilter; | 117 class SystemModalContainerEventFilter; |
117 class SystemTray; | 118 class SystemTray; |
118 class ToplevelWindowEventHandler; | 119 class ToplevelWindowEventHandler; |
119 class AshTouchTransformController; | 120 class AshTouchTransformController; |
120 class ScreenLayoutObserver; | 121 class ScreenLayoutObserver; |
121 class VirtualKeyboardController; | 122 class VirtualKeyboardController; |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 StickyKeysController* sticky_keys_controller() { | 404 StickyKeysController* sticky_keys_controller() { |
404 return sticky_keys_controller_.get(); | 405 return sticky_keys_controller_.get(); |
405 } | 406 } |
406 | 407 |
407 ScreenPinningController* screen_pinning_controller() { | 408 ScreenPinningController* screen_pinning_controller() { |
408 return screen_pinning_controller_.get(); | 409 return screen_pinning_controller_.get(); |
409 } | 410 } |
410 | 411 |
411 GPUSupport* gpu_support() { return gpu_support_.get(); } | 412 GPUSupport* gpu_support() { return gpu_support_.get(); } |
412 | 413 |
| 414 void AddShellObserver(ShellObserver* observer); |
| 415 void RemoveShellObserver(ShellObserver* observer); |
| 416 |
| 417 // Notifies observers that maximize mode has started, windows might still |
| 418 // animate. |
| 419 void NotifyMaximizeModeStarted(); |
| 420 |
| 421 // Notifies observers that maximize mode is about to end. |
| 422 void NotifyMaximizeModeEnding(); |
| 423 |
| 424 // Notifies observers that maximize mode has ended, windows might still be |
| 425 // returning to their original position. |
| 426 void NotifyMaximizeModeEnded(); |
| 427 |
| 428 // Notifies observers that overview mode is about to be started (before the |
| 429 // windows get re-arranged). |
| 430 void NotifyOverviewModeStarting(); |
| 431 |
| 432 // Notifies observers that overview mode has ended. |
| 433 void NotifyOverviewModeEnded(); |
| 434 |
| 435 // Notifies observers that fullscreen mode has changed for |root_window|. |
| 436 void NotifyFullscreenStateChanged(bool is_fullscreen, WmWindow* root_window); |
| 437 |
| 438 // Notifies observers that |pinned_window| changed its pinned window state. |
| 439 void NotifyPinnedStateChanged(WmWindow* pinned_window); |
| 440 |
| 441 // Notifies observers that the virtual keyboard has been |
| 442 // activated/deactivated. |
| 443 void NotifyVirtualKeyboardActivated(bool activated); |
| 444 |
| 445 // Notifies observers that the shelf was created for |root_window|. |
| 446 // TODO(jamescook): Move to Shelf. |
| 447 void NotifyShelfCreatedForRootWindow(WmWindow* root_window); |
| 448 |
| 449 // Notifies observers that |root_window|'s shelf changed alignment. |
| 450 // TODO(jamescook): Move to Shelf. |
| 451 void NotifyShelfAlignmentChanged(WmWindow* root_window); |
| 452 |
| 453 // Notifies observers that |root_window|'s shelf changed auto-hide behavior. |
| 454 // TODO(jamescook): Move to Shelf. |
| 455 void NotifyShelfAutoHideBehaviorChanged(WmWindow* root_window); |
| 456 |
413 private: | 457 private: |
414 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); | 458 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); |
415 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); | 459 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); |
416 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); | 460 FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, TransformActivate); |
417 friend class RootWindowController; | 461 friend class RootWindowController; |
418 friend class ScopedRootWindowForNewWindows; | 462 friend class ScopedRootWindowForNewWindows; |
419 friend class SmsObserverTest; | 463 friend class SmsObserverTest; |
420 friend class test::ShellTestApi; | 464 friend class test::ShellTestApi; |
421 friend class shell::WindowWatcher; | 465 friend class shell::WindowWatcher; |
422 | 466 |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 WmWindow* root_window_for_new_windows_ = nullptr; | 617 WmWindow* root_window_for_new_windows_ = nullptr; |
574 WmWindow* scoped_root_window_for_new_windows_ = nullptr; | 618 WmWindow* scoped_root_window_for_new_windows_ = nullptr; |
575 | 619 |
576 // Injected content::GPUDataManager support. | 620 // Injected content::GPUDataManager support. |
577 std::unique_ptr<GPUSupport> gpu_support_; | 621 std::unique_ptr<GPUSupport> gpu_support_; |
578 | 622 |
579 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; | 623 std::unique_ptr<ImmersiveHandlerFactoryAsh> immersive_handler_factory_; |
580 | 624 |
581 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_; | 625 std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_; |
582 | 626 |
| 627 base::ObserverList<ShellObserver> shell_observers_; |
| 628 |
583 DISALLOW_COPY_AND_ASSIGN(Shell); | 629 DISALLOW_COPY_AND_ASSIGN(Shell); |
584 }; | 630 }; |
585 | 631 |
586 } // namespace ash | 632 } // namespace ash |
587 | 633 |
588 #endif // ASH_SHELL_H_ | 634 #endif // ASH_SHELL_H_ |
OLD | NEW |