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

Unified Diff: ash/common/wm/workspace/workspace_layout_manager.h

Issue 2072853002: Implement "pinned" mode in ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments 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
« no previous file with comments | « ash/common/wm/window_state.cc ('k') | ash/common/wm/workspace/workspace_layout_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/wm/workspace/workspace_layout_manager.h
diff --git a/ash/common/wm/workspace/workspace_layout_manager.h b/ash/common/wm/workspace/workspace_layout_manager.h
index 0666535c0835e417cb7684eda392426da55d03dc..a91fc6156a892b3f2e40c87fe6284d7ca66805ca 100644
--- a/ash/common/wm/workspace/workspace_layout_manager.h
+++ b/ash/common/wm/workspace/workspace_layout_manager.h
@@ -9,6 +9,7 @@
#include <set>
#include "ash/ash_export.h"
+#include "ash/common/shell_observer.h"
#include "ash/common/wm/window_state_observer.h"
#include "ash/common/wm/wm_types.h"
#include "ash/common/wm_activation_observer.h"
@@ -36,6 +37,7 @@ class ASH_EXPORT WorkspaceLayoutManager
public WmActivationObserver,
public keyboard::KeyboardControllerObserver,
public WmRootWindowControllerObserver,
+ public ShellObserver,
public wm::WindowStateObserver {
public:
WorkspaceLayoutManager(
@@ -88,6 +90,15 @@ class ASH_EXPORT WorkspaceLayoutManager
void OnPostWindowStateTypeChange(wm::WindowState* window_state,
wm::WindowStateType old_type) override;
+ // ShellObserver overrides:
+ void OnFullscreenStateChanged(bool is_fullscreen, WmWindow* root) override {
+ // Do nothing. Fullscreen state change is observed by the
+ // WmRootWindowControllerObserver::OnFullscreenStateChanged().
+ // Because the name is conflicting, some compiler warns because this is
+ // hidden. To avoid it, we define it here, with empty body.
+ }
+ void OnPinnedStateChanged(WmWindow* pinned_window) override;
+
private:
typedef std::set<WmWindow*> WindowSet;
@@ -107,17 +118,9 @@ class ASH_EXPORT WorkspaceLayoutManager
// has changed.
void UpdateFullscreenState();
- // Updates the bounds of the window for a stte type change from
- // |old_show_type|.
- void UpdateBoundsFromStateType(wm::WindowState* window_state,
- wm::WindowStateType old_state_type);
-
- // If |window_state| is maximized or fullscreen the bounds of the
- // window are set and true is returned. Does nothing otherwise.
- bool SetMaximizedOrFullscreenBounds(wm::WindowState* window_state);
-
- // Animates the window bounds to |bounds|.
- void SetChildBoundsAnimated(WmWindow* child, const gfx::Rect& bounds);
+ // Updates the always-on-top state for windows managed by this layout
+ // manager.
+ void UpdateAlwaysOnTop(WmWindow* window_on_top);
WmWindow* window_;
WmWindow* root_window_;
« no previous file with comments | « ash/common/wm/window_state.cc ('k') | ash/common/wm/workspace/workspace_layout_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698