summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-20 13:18:04 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-20 13:18:04 +0000
commite55b73458a2ab5e2963f7d720405edccd51cbc9e (patch)
treed582ac30f4c4c22a0fec8abb0aec14e17f4b0be9 /ash/shell.h
parent9b0d66b6fcb4c34964a678c9068c4635b3b040e8 (diff)
downloadchromium_src-e55b73458a2ab5e2963f7d720405edccd51cbc9e.zip
chromium_src-e55b73458a2ab5e2963f7d720405edccd51cbc9e.tar.gz
chromium_src-e55b73458a2ab5e2963f7d720405edccd51cbc9e.tar.bz2
Adding new always maximized mode
This is (at this time) not complete. There are some outstanding issues to be resolved marked with TODO(skuhne) which I will address before submitting. This is meant to be a "preview". What does it do? It tracks the creation of all browsers / V1 / V2 applications and maximizes them automatically. Non maximizable windows will get centered and a layer will be put behind them. Note that not all windows can be maximized. Dialogs, tray, .. will remain in their window state. The missing things: - Background cover layer - Removing of the restore button from the caption (different CL) - Suppression of restore / fullscreen request events of any of the tracked windows. BUG=337563 TEST=unit tests Review URL: https://codereview.chromium.org/167503002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252211 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r--ash/shell.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/ash/shell.h b/ash/shell.h
index b9222a6..1d58b39 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -129,6 +129,7 @@ class EventTransformationHandler;
class FocusCycler;
class KeyboardUMAEventFilter;
class LocaleNotificationController;
+class MaximizeModeWindowManager;
class MouseCursorEventFilter;
class OutputConfiguratorAnimation;
class OverlayEventFilter;
@@ -307,6 +308,9 @@ class ASH_EXPORT Shell
void AddShellObserver(ShellObserver* observer);
void RemoveShellObserver(ShellObserver* observer);
+ // Turn the always maximize mode window manager on or off.
+ void EnableMaximizeModeWindowManager(bool enable);
+
keyboard::KeyboardController* keyboard_controller() {
return keyboard_controller_.get();
}
@@ -681,6 +685,9 @@ class ASH_EXPORT Shell
scoped_ptr<internal::LocaleNotificationController>
locale_notification_controller_;
+ // The maximized window manager (if enabled).
+ scoped_ptr<internal::MaximizeModeWindowManager> maximize_mode_window_manager_;
+
#if defined(OS_CHROMEOS)
scoped_ptr<internal::PowerEventObserver> power_event_observer_;
scoped_ptr<internal::UserActivityNotifier> user_activity_notifier_;