Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(386)

Unified Diff: ash/shell.h

Issue 2739763003: Moves maintaining ShellObservers back to Shell (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698