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); |
}; |