diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-20 13:18:04 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-20 13:18:04 +0000 |
commit | e55b73458a2ab5e2963f7d720405edccd51cbc9e (patch) | |
tree | d582ac30f4c4c22a0fec8abb0aec14e17f4b0be9 /ash/shell.h | |
parent | 9b0d66b6fcb4c34964a678c9068c4635b3b040e8 (diff) | |
download | chromium_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.h | 7 |
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_; |