| Index: ash/shell.h
|
| diff --git a/ash/shell.h b/ash/shell.h
|
| index 81ffb0d2239a0d2847a46e3d46c98948631a3535..39209b1df1f3cfecbdb9f31be0555662bd8b253f 100644
|
| --- a/ash/shell.h
|
| +++ b/ash/shell.h
|
| @@ -109,6 +109,7 @@ class ScreenPinningController;
|
| class ScreenPositionController;
|
| class SessionStateDelegate;
|
| struct ShellInitParams;
|
| +class ShellObserver;
|
| class ShutdownObserver;
|
| class SmsObserver;
|
| class StickyKeysController;
|
| @@ -410,6 +411,49 @@ class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate,
|
|
|
| GPUSupport* gpu_support() { return gpu_support_.get(); }
|
|
|
| + void AddShellObserver(ShellObserver* observer);
|
| + void RemoveShellObserver(ShellObserver* observer);
|
| +
|
| + // Notifies observers that maximize mode has started, windows might still
|
| + // animate.
|
| + void NotifyMaximizeModeStarted();
|
| +
|
| + // Notifies observers that maximize mode is about to end.
|
| + void NotifyMaximizeModeEnding();
|
| +
|
| + // Notifies observers that maximize mode has ended, windows might still be
|
| + // returning to their original position.
|
| + void NotifyMaximizeModeEnded();
|
| +
|
| + // Notifies observers that overview mode is about to be started (before the
|
| + // windows get re-arranged).
|
| + void NotifyOverviewModeStarting();
|
| +
|
| + // Notifies observers that overview mode has ended.
|
| + void NotifyOverviewModeEnded();
|
| +
|
| + // Notifies observers that fullscreen mode has changed for |root_window|.
|
| + void NotifyFullscreenStateChanged(bool is_fullscreen, WmWindow* root_window);
|
| +
|
| + // Notifies observers that |pinned_window| changed its pinned window state.
|
| + void NotifyPinnedStateChanged(WmWindow* pinned_window);
|
| +
|
| + // Notifies observers that the virtual keyboard has been
|
| + // activated/deactivated.
|
| + void NotifyVirtualKeyboardActivated(bool activated);
|
| +
|
| + // Notifies observers that the shelf was created for |root_window|.
|
| + // TODO(jamescook): Move to Shelf.
|
| + void NotifyShelfCreatedForRootWindow(WmWindow* root_window);
|
| +
|
| + // Notifies observers that |root_window|'s shelf changed alignment.
|
| + // TODO(jamescook): Move to Shelf.
|
| + void NotifyShelfAlignmentChanged(WmWindow* root_window);
|
| +
|
| + // Notifies 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);
|
| @@ -580,6 +624,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);
|
| };
|
|
|
|
|