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_; |