Chromium Code Reviews| Index: ash/shell.h |
| diff --git a/ash/shell.h b/ash/shell.h |
| index f17b9a7ff4f43451afc62a32461332619be0d26f..a9d11f55a0d2f5b0938febd50c37cac31c572d1d 100644 |
| --- a/ash/shell.h |
| +++ b/ash/shell.h |
| @@ -108,6 +108,7 @@ class ScreenPinningController; |
| class ScreenPositionController; |
| class SessionStateDelegate; |
| struct ShellInitParams; |
| +class ShellObserver; |
| class ShutdownObserver; |
| class SmsObserver; |
| class StickyKeysController; |
| @@ -409,6 +410,47 @@ class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate, |
| GPUSupport* gpu_support() { return gpu_support_.get(); } |
| + void AddShellObserver(ShellObserver* observer); |
| + void RemoveShellObserver(ShellObserver* observer); |
| + |
| + // Called after maximize mode has started, windows might still animate though. |
| + void OnMaximizeModeStarted(); |
|
msw
2017/03/08 19:52:23
optional nit: wdyt about renaming these On* to Not
sky
2017/03/08 20:26:06
Done.
|
| + |
| + // Called after maximize mode is about to end. |
| + void OnMaximizeModeEnding(); |
| + |
| + // Called after maximize mode has ended, windows might still be returning to |
| + // their original position. |
| + void OnMaximizeModeEnded(); |
| + |
| + // Called when the overview mode is about to be started (before the windows |
| + // get re-arranged). |
| + void OnOverviewModeStarting(); |
| + |
| + // Called after overview mode has ended. |
| + void OnOverviewModeEnded(); |
| + |
| + // Notify observers that fullscreen mode has changed for |root_window|. |
| + void NotifyFullscreenStateChanged(bool is_fullscreen, WmWindow* root_window); |
| + |
| + // Notify observers that |pinned_window| changed its pinned window state. |
| + void NotifyPinnedStateChanged(WmWindow* pinned_window); |
| + |
| + // Notify observers that the virtual keyboard has been activated/deactivated. |
| + void NotifyVirtualKeyboardActivated(bool activated); |
| + |
| + // Notify observers that the shelf was created for |root_window|. |
| + // TODO(jamescook): Move to Shelf. |
| + void NotifyShelfCreatedForRootWindow(WmWindow* root_window); |
| + |
| + // Notify observers that |root_window|'s shelf changed auto-hide alignment. |
|
msw
2017/03/08 19:52:23
nit: remove 'auto-hide' (was wrong previously)
sky
2017/03/08 20:26:06
Done.
|
| + // TODO(jamescook): Move to Shelf. |
| + void NotifyShelfAlignmentChanged(WmWindow* root_window); |
| + |
| + // Notify observers that |root_window|'s shelf changed auto-hide behavior. |
| + // TODO(jamescook): Move to Shelf. |
| + void NotifyShelfAutoHideBehaviorChanged(WmWindow* root_window); |
| + |
| private: |
| FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, TestCursor); |
| FRIEND_TEST_ALL_PREFIXES(WindowManagerTest, MouseEventCursors); |
| @@ -571,6 +613,8 @@ class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate, |
| std::unique_ptr<AppListDelegateImpl> app_list_delegate_impl_; |
| + base::ObserverList<ShellObserver> shell_observers_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(Shell); |
| }; |