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

Side by Side Diff: ash/common/wm/workspace/workspace_layout_manager.h

Issue 2295003002: mash: Remove WmRootWindowControllerObserver. (Closed)
Patch Set: Address comments. Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ 5 #ifndef ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_
6 #define ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ 6 #define ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 10
11 #include "ash/ash_export.h" 11 #include "ash/ash_export.h"
12 #include "ash/common/shell_observer.h" 12 #include "ash/common/shell_observer.h"
13 #include "ash/common/wm/window_state_observer.h" 13 #include "ash/common/wm/window_state_observer.h"
14 #include "ash/common/wm/wm_types.h" 14 #include "ash/common/wm/wm_types.h"
15 #include "ash/common/wm_activation_observer.h" 15 #include "ash/common/wm_activation_observer.h"
16 #include "ash/common/wm_layout_manager.h" 16 #include "ash/common/wm_layout_manager.h"
17 #include "ash/common/wm_root_window_controller_observer.h"
18 #include "ash/common/wm_window_observer.h" 17 #include "ash/common/wm_window_observer.h"
19 #include "base/macros.h" 18 #include "base/macros.h"
19 #include "ui/display/display_observer.h"
20 #include "ui/gfx/geometry/rect.h" 20 #include "ui/gfx/geometry/rect.h"
21 #include "ui/keyboard/keyboard_controller_observer.h" 21 #include "ui/keyboard/keyboard_controller_observer.h"
22 22
23 namespace ash { 23 namespace ash {
24 class WmShell; 24 class WmShell;
25 class WmRootWindowController; 25 class WmRootWindowController;
26 class WorkspaceLayoutManagerBackdropDelegate; 26 class WorkspaceLayoutManagerBackdropDelegate;
27 27
28 namespace wm { 28 namespace wm {
29 class WMEvent; 29 class WMEvent;
30 } 30 }
31 31
32 // LayoutManager used on the window created for a workspace. 32 // LayoutManager used on the window created for a workspace.
33 class ASH_EXPORT WorkspaceLayoutManager 33 class ASH_EXPORT WorkspaceLayoutManager
34 : public WmLayoutManager, 34 : public WmLayoutManager,
35 public WmWindowObserver, 35 public WmWindowObserver,
36 public WmActivationObserver, 36 public WmActivationObserver,
37 public keyboard::KeyboardControllerObserver, 37 public keyboard::KeyboardControllerObserver,
38 public WmRootWindowControllerObserver, 38 public display::DisplayObserver,
39 public ShellObserver, 39 public ShellObserver,
40 public wm::WindowStateObserver { 40 public wm::WindowStateObserver {
41 public: 41 public:
42 // |window| is the container for this layout manager. 42 // |window| is the container for this layout manager.
43 explicit WorkspaceLayoutManager(WmWindow* window); 43 explicit WorkspaceLayoutManager(WmWindow* window);
44 ~WorkspaceLayoutManager() override; 44 ~WorkspaceLayoutManager() override;
45 45
46 // A delegate which can be set to add a backdrop behind the top most visible 46 // A delegate which can be set to add a backdrop behind the top most visible
47 // window. With the call the ownership of the delegate will be transferred to 47 // window. With the call the ownership of the delegate will be transferred to
48 // the WorkspaceLayoutManager. 48 // the WorkspaceLayoutManager.
49 void SetMaximizeBackdropDelegate( 49 void SetMaximizeBackdropDelegate(
50 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> delegate); 50 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> delegate);
51 51
52 // Overridden from WmLayoutManager: 52 // Overridden from WmLayoutManager:
53 void OnWindowResized() override; 53 void OnWindowResized() override;
54 void OnWindowAddedToLayout(WmWindow* child) override; 54 void OnWindowAddedToLayout(WmWindow* child) override;
55 void OnWillRemoveWindowFromLayout(WmWindow* child) override; 55 void OnWillRemoveWindowFromLayout(WmWindow* child) override;
56 void OnWindowRemovedFromLayout(WmWindow* child) override; 56 void OnWindowRemovedFromLayout(WmWindow* child) override;
57 void OnChildWindowVisibilityChanged(WmWindow* child, bool visibile) override; 57 void OnChildWindowVisibilityChanged(WmWindow* child, bool visibile) override;
58 void SetChildBounds(WmWindow* child, 58 void SetChildBounds(WmWindow* child,
59 const gfx::Rect& requested_bounds) override; 59 const gfx::Rect& requested_bounds) override;
60 60
61 // WmRootWindowControllerObserver overrides:
62 void OnWorkAreaChanged() override;
63
64 // Overriden from WmWindowObserver: 61 // Overriden from WmWindowObserver:
65 void OnWindowTreeChanged( 62 void OnWindowTreeChanged(
66 WmWindow* window, 63 WmWindow* window,
67 const WmWindowObserver::TreeChangeParams& params) override; 64 const WmWindowObserver::TreeChangeParams& params) override;
68 void OnWindowPropertyChanged(WmWindow* window, 65 void OnWindowPropertyChanged(WmWindow* window,
69 WmWindowProperty property) override; 66 WmWindowProperty property) override;
70 void OnWindowStackingChanged(WmWindow* window) override; 67 void OnWindowStackingChanged(WmWindow* window) override;
71 void OnWindowDestroying(WmWindow* window) override; 68 void OnWindowDestroying(WmWindow* window) override;
72 void OnWindowBoundsChanged(WmWindow* window, 69 void OnWindowBoundsChanged(WmWindow* window,
73 const gfx::Rect& old_bounds, 70 const gfx::Rect& old_bounds,
74 const gfx::Rect& new_bounds) override; 71 const gfx::Rect& new_bounds) override;
75 72
76 // WmActivationObserver overrides: 73 // WmActivationObserver overrides:
77 void OnWindowActivated(WmWindow* gained_active, 74 void OnWindowActivated(WmWindow* gained_active,
78 WmWindow* lost_active) override; 75 WmWindow* lost_active) override;
79 76
80 // keyboard::KeyboardControllerObserver overrides: 77 // keyboard::KeyboardControllerObserver overrides:
81 void OnKeyboardBoundsChanging(const gfx::Rect& new_bounds) override; 78 void OnKeyboardBoundsChanging(const gfx::Rect& new_bounds) override;
82 79
83 // WindowStateObserver overrides: 80 // WindowStateObserver overrides:
84 void OnPostWindowStateTypeChange(wm::WindowState* window_state, 81 void OnPostWindowStateTypeChange(wm::WindowState* window_state,
85 wm::WindowStateType old_type) override; 82 wm::WindowStateType old_type) override;
86 83
84 // display::DisplayObserver overrides:
85 void OnDisplayMetricsChanged(const display::Display& display,
86 uint32_t changed_metrics) override;
87
87 // ShellObserver overrides: 88 // ShellObserver overrides:
88 void OnFullscreenStateChanged(bool is_fullscreen, 89 void OnFullscreenStateChanged(bool is_fullscreen,
89 WmWindow* root_window) override; 90 WmWindow* root_window) override;
90 void OnPinnedStateChanged(WmWindow* pinned_window) override; 91 void OnPinnedStateChanged(WmWindow* pinned_window) override;
91 92
92 private: 93 private:
93 typedef std::set<WmWindow*> WindowSet; 94 typedef std::set<WmWindow*> WindowSet;
94 95
95 // Adjusts the bounds of all managed windows when the display area changes. 96 // Adjusts the bounds of all managed windows when the display area changes.
96 // This happens when the display size, work area insets has changed. 97 // This happens when the display size, work area insets has changed.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 // A window which covers the full container and which gets inserted behind the 130 // A window which covers the full container and which gets inserted behind the
130 // topmost visible window. 131 // topmost visible window.
131 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> backdrop_delegate_; 132 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> backdrop_delegate_;
132 133
133 DISALLOW_COPY_AND_ASSIGN(WorkspaceLayoutManager); 134 DISALLOW_COPY_AND_ASSIGN(WorkspaceLayoutManager);
134 }; 135 };
135 136
136 } // namespace ash 137 } // namespace ash
137 138
138 #endif // ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ 139 #endif // ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_
OLDNEW
« no previous file with comments | « ash/common/wm/dock/docked_window_layout_manager.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