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

Side by Side Diff: components/mus/ws/server_window.h

Issue 1759523002: mus: Server-side implementation of modal windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added test for WindowHierarchyChanged case Created 4 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 COMPONENTS_MUS_WS_SERVER_WINDOW_H_ 5 #ifndef COMPONENTS_MUS_WS_SERVER_WINDOW_H_
6 #define COMPONENTS_MUS_WS_SERVER_WINDOW_H_ 6 #define COMPONENTS_MUS_WS_SERVER_WINDOW_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 101
102 // Transient window management. 102 // Transient window management.
103 void AddTransientWindow(ServerWindow* child); 103 void AddTransientWindow(ServerWindow* child);
104 void RemoveTransientWindow(ServerWindow* child); 104 void RemoveTransientWindow(ServerWindow* child);
105 105
106 ServerWindow* transient_parent() { return transient_parent_; } 106 ServerWindow* transient_parent() { return transient_parent_; }
107 const ServerWindow* transient_parent() const { return transient_parent_; } 107 const ServerWindow* transient_parent() const { return transient_parent_; }
108 108
109 const Windows& transient_children() const { return transient_children_; } 109 const Windows& transient_children() const { return transient_children_; }
110 110
111 bool is_modal() const { return is_modal_; }
112 void SetAsModal();
sky 2016/03/09 16:33:56 SetModal.
mohsen 2016/03/09 18:32:51 Done. Also changed AccessPolicy::CanSetAsModal to
113
114 bool IsBlockedByModalWindow() const;
115 const ServerWindow* GetModalTarget() const;
sky 2016/03/09 16:33:56 Add description of GetModalTarget.
mohsen 2016/03/09 18:32:51 Done.
116 ServerWindow* GetModalTarget() {
117 return const_cast<ServerWindow*>(
118 static_cast<const ServerWindow*>(this)->GetModalTarget());
119 }
120
111 // Returns true if this contains |window| or is |window|. 121 // Returns true if this contains |window| or is |window|.
112 bool Contains(const ServerWindow* window) const; 122 bool Contains(const ServerWindow* window) const;
113 123
114 // Returns the visibility requested by this window. IsDrawn() returns whether 124 // Returns the visibility requested by this window. IsDrawn() returns whether
115 // the window is actually visible on screen. 125 // the window is actually visible on screen.
116 bool visible() const { return visible_; } 126 bool visible() const { return visible_; }
117 void SetVisible(bool value); 127 void SetVisible(bool value);
118 128
119 float opacity() const { return opacity_; } 129 float opacity() const { return opacity_; }
120 void SetOpacity(float value); 130 void SetOpacity(float value);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 ServerWindow* parent_; 200 ServerWindow* parent_;
191 Windows children_; 201 Windows children_;
192 202
193 // Transient window management. 203 // Transient window management.
194 // If non-null we're actively restacking transient as the result of a 204 // If non-null we're actively restacking transient as the result of a
195 // transient ancestor changing. 205 // transient ancestor changing.
196 ServerWindow* stacking_target_; 206 ServerWindow* stacking_target_;
197 ServerWindow* transient_parent_; 207 ServerWindow* transient_parent_;
198 Windows transient_children_; 208 Windows transient_children_;
199 209
210 bool is_modal_;
200 bool visible_; 211 bool visible_;
201 gfx::Rect bounds_; 212 gfx::Rect bounds_;
202 gfx::Insets client_area_; 213 gfx::Insets client_area_;
203 std::vector<gfx::Rect> additional_client_areas_; 214 std::vector<gfx::Rect> additional_client_areas_;
204 scoped_ptr<ServerWindowSurfaceManager> surface_manager_; 215 scoped_ptr<ServerWindowSurfaceManager> surface_manager_;
205 mojom::Cursor cursor_id_; 216 mojom::Cursor cursor_id_;
206 float opacity_; 217 float opacity_;
207 bool can_focus_; 218 bool can_focus_;
208 gfx::Transform transform_; 219 gfx::Transform transform_;
209 ui::TextInputState text_input_state_; 220 ui::TextInputState text_input_state_;
210 221
211 Properties properties_; 222 Properties properties_;
212 223
213 gfx::Vector2d underlay_offset_; 224 gfx::Vector2d underlay_offset_;
214 225
215 // The hit test for windows extends outside the bounds of the window by this 226 // The hit test for windows extends outside the bounds of the window by this
216 // amount. 227 // amount.
217 gfx::Insets extended_hit_test_region_; 228 gfx::Insets extended_hit_test_region_;
218 229
219 base::ObserverList<ServerWindowObserver> observers_; 230 base::ObserverList<ServerWindowObserver> observers_;
220 231
221 DISALLOW_COPY_AND_ASSIGN(ServerWindow); 232 DISALLOW_COPY_AND_ASSIGN(ServerWindow);
222 }; 233 };
223 234
224 } // namespace ws 235 } // namespace ws
225 } // namespace mus 236 } // namespace mus
226 237
227 #endif // COMPONENTS_MUS_WS_SERVER_WINDOW_H_ 238 #endif // COMPONENTS_MUS_WS_SERVER_WINDOW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698