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

Unified Diff: ash/wm/maximize_mode/maximize_mode_window_manager.h

Issue 169643005: Adding a gray semi transparent backdrop behind the topmost window within the default container (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added unit tests Created 6 years, 10 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/wm/maximize_mode/maximize_mode_window_manager.h
diff --git a/ash/wm/maximize_mode/maximize_mode_window_manager.h b/ash/wm/maximize_mode/maximize_mode_window_manager.h
index 7b0c1db6e0e0766a22bcc06963a19f83c1238f2b..6a0439922723cabb816428ebee8790cfe81640dd 100644
--- a/ash/wm/maximize_mode/maximize_mode_window_manager.h
+++ b/ash/wm/maximize_mode/maximize_mode_window_manager.h
@@ -9,6 +9,7 @@
#include <set>
#include "ash/ash_export.h"
+#include "ash/shell_observer.h"
#include "ash/wm/window_state.h"
#include "base/basictypes.h"
#include "base/compiler_specific.h"
@@ -27,14 +28,19 @@ namespace internal{
// With the destruction of the manager all windows will be restored to their
// original state.
class ASH_EXPORT MaximizeModeWindowManager : public aura::WindowObserver,
- public gfx::DisplayObserver {
+ public gfx::DisplayObserver,
+ public ShellObserver {
public:
// This should only be deleted by the creator (ash::Shell).
virtual ~MaximizeModeWindowManager();
- // Returns the number of maximized & tracked windows by this manager.
+ // Returns the number of maximized & tracked windows by this manager.
int GetNumberOfManagedWindows();
+ // Hide the default workspace container backdrops temporarily when |hide| is
+ // set.
+ void HideBackdrops(bool hide);
sky 2014/03/06 01:03:18 Do you really need the 'hide' variable? If you do,
Mr4D (OOO till 08-26) 2014/03/06 17:17:16 Removed.
+
// Overridden from WindowObserver:
virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
virtual void OnWindowAdded(aura::Window* window) OVERRIDE;
@@ -48,6 +54,10 @@ class ASH_EXPORT MaximizeModeWindowManager : public aura::WindowObserver,
virtual void OnDisplayAdded(const gfx::Display& display) OVERRIDE;
virtual void OnDisplayRemoved(const gfx::Display& display) OVERRIDE;
+ // ShellObserver overrides:
+ void OnOverviewModeStarted();
+ void OnOverviewModeEnded();
+
protected:
friend class ash::Shell;
@@ -91,15 +101,24 @@ class ASH_EXPORT MaximizeModeWindowManager : public aura::WindowObserver,
// Remove Window creation observers.
void RemoveWindowCreationObservers();
+ // Add a backdrop behind the currently active window on each desktop.
+ void EnableBackdropBehindTopWindowOnEachDisplay(bool enable);
+
// Returns true when the |window| is a container window.
bool IsContainerWindow(aura::Window* window);
+ // Apply a display configuration change.
+ void DisplayConfigurationChanged();
+
// Every window which got touched by our window manager gets added here.
WindowToShowState initial_show_state_;
// All container windows which have to be tracked.
std::set<aura::Window*> observed_container_windows_;
+ // True if all backdrops are hidden.
+ bool backdrops_hidden_;
+
DISALLOW_COPY_AND_ASSIGN(MaximizeModeWindowManager);
};

Powered by Google App Engine
This is Rietveld 408576698