Index: components/mus/ws/server_window.h |
diff --git a/components/mus/ws/server_window.h b/components/mus/ws/server_window.h |
index 2d7070a39410d677e55246a8764a3383ada81c07..a518ff085e40a8893142a183e13539645a4e86ee 100644 |
--- a/components/mus/ws/server_window.h |
+++ b/components/mus/ws/server_window.h |
@@ -100,8 +100,7 @@ |
ServerWindow* GetChildWindow(const WindowId& id); |
// Transient window management. |
- // Adding transient child fails if the child window is modal to system. |
- bool AddTransientWindow(ServerWindow* child); |
+ void AddTransientWindow(ServerWindow* child); |
void RemoveTransientWindow(ServerWindow* child); |
ServerWindow* transient_parent() { return transient_parent_; } |
@@ -111,6 +110,17 @@ |
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; |