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

Unified 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: SetAsModal -> SetModal + Other review comments addressed 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/mus/ws/event_dispatcher_unittest.cc ('k') | components/mus/ws/server_window.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/mus/ws/server_window.h
diff --git a/components/mus/ws/server_window.h b/components/mus/ws/server_window.h
index 46a1b21b81a798ccc661821f08527a3adf336c5b..6987f91fc44404863166b8e07ed811330d77998a 100644
--- a/components/mus/ws/server_window.h
+++ b/components/mus/ws/server_window.h
@@ -108,6 +108,20 @@ class ServerWindow {
const Windows& transient_children() const { return transient_children_; }
+ bool is_modal() const { return is_modal_; }
+ void SetModal();
+
+ bool IsBlockedByModalWindow() const;
+
+ // Returns the window that events targeted to this window should be retargeted
+ // to; according to modal windows. If any modal window is blocking this
+ // window, returns the topmost one; otherwise, returns this window.
+ const ServerWindow* GetModalTarget() const;
+ ServerWindow* GetModalTarget() {
+ return const_cast<ServerWindow*>(
+ static_cast<const ServerWindow*>(this)->GetModalTarget());
+ }
+
// Returns true if this contains |window| or is |window|.
bool Contains(const ServerWindow* window) const;
@@ -197,6 +211,7 @@ class ServerWindow {
ServerWindow* transient_parent_;
Windows transient_children_;
+ bool is_modal_;
bool visible_;
gfx::Rect bounds_;
gfx::Insets client_area_;
« no previous file with comments | « components/mus/ws/event_dispatcher_unittest.cc ('k') | components/mus/ws/server_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698