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

Unified Diff: ash/common/wm_shell.h

Issue 2115663002: Folds methods in WmShellCommon to WmShell (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moar Created 4 years, 6 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/common/wm_shell.h
diff --git a/ash/common/wm_shell.h b/ash/common/wm_shell.h
index 6a9632e2882ef997ea939453087b9a3c351ba0ec..0a8a1b7a4f58d76d48f6e78036aa1cea501fc9d2 100644
--- a/ash/common/wm_shell.h
+++ b/ash/common/wm_shell.h
@@ -12,6 +12,7 @@
#include "ash/ash_export.h"
#include "ash/common/metrics/user_metrics_action.h"
+#include "base/observer_list.h"
namespace gfx {
class Rect;
@@ -73,7 +74,7 @@ class ASH_EXPORT WmShell {
return window_selector_controller_.get();
}
- virtual MruWindowTracker* GetMruWindowTracker() = 0;
+ MruWindowTracker* mru_window_tracker() { return mru_window_tracker_.get(); }
James Cook 2016/06/30 21:29:20 nit: put after keyboard_ui (I'm trying to keep the
sky 2016/06/30 21:49:41 Done, but similar comment to what I say below.
// Creates a new window used as a container of other windows. No painting is
// done to the created window.
@@ -152,6 +153,11 @@ class ASH_EXPORT WmShell {
// Called after overview mode has ended.
virtual void OnOverviewModeEnded() = 0;
+ // Notifies |observers_| when entering or exiting pinned mode for
+ // |pinned_window|. Entering or exiting can be checked by looking at
+ // |pinned_window|'s window state.
+ void NotifyPinnedStateChanged(WmWindow* pinned_window);
+
virtual AccessibilityDelegate* GetAccessibilityDelegate() = 0;
virtual SessionStateDelegate* GetSessionStateDelegate() = 0;
@@ -162,8 +168,8 @@ class ASH_EXPORT WmShell {
virtual void AddDisplayObserver(WmDisplayObserver* observer) = 0;
virtual void RemoveDisplayObserver(WmDisplayObserver* observer) = 0;
- virtual void AddShellObserver(ShellObserver* observer) = 0;
- virtual void RemoveShellObserver(ShellObserver* observer) = 0;
+ void AddShellObserver(ShellObserver* observer);
+ void RemoveShellObserver(ShellObserver* observer);
virtual void AddPointerWatcher(views::PointerWatcher* watcher) = 0;
virtual void RemovePointerWatcher(views::PointerWatcher* watcher) = 0;
@@ -183,17 +189,26 @@ class ASH_EXPORT WmShell {
void SetKeyboardUI(std::unique_ptr<KeyboardUI> keyboard_ui);
+ base::ObserverList<ShellObserver>* shell_observers() {
James Cook 2016/06/30 21:29:20 nit: simple getter above SetKeyboardUI
sky 2016/06/30 21:49:41 Done. I will add though that sort of style is more
+ return &shell_observers_;
+ }
+
// Sets and initializes the |delegate|.
void SetSystemTrayDelegate(std::unique_ptr<SystemTrayDelegate> delegate);
void DeleteSystemTrayDelegate();
void DeleteWindowSelectorController();
+ void CreateMruWindowTracker();
+ void DeleteMruWindowTracker();
+
private:
friend class Shell;
static WmShell* instance_;
+ base::ObserverList<ShellObserver> shell_observers_;
+
std::unique_ptr<FocusCycler> focus_cycler_;
std::unique_ptr<KeyboardUI> keyboard_ui_;
std::unique_ptr<SystemTrayNotifier> system_tray_notifier_;
@@ -202,6 +217,8 @@ class ASH_EXPORT WmShell {
bool simulate_modal_window_open_for_testing_ = false;
+ std::unique_ptr<MruWindowTracker> mru_window_tracker_;
James Cook 2016/06/30 21:29:20 ditto
sky 2016/06/30 21:49:41 Done, and I'll ditto my nit from above;)
+
#if defined(OS_CHROMEOS)
std::unique_ptr<LogoutConfirmationController> logout_confirmation_controller_;
#endif

Powered by Google App Engine
This is Rietveld 408576698