Index: components/mus/ws/window_manager_state.h |
diff --git a/components/mus/ws/window_manager_state.h b/components/mus/ws/window_manager_state.h |
index af6f3899817b62427d9a4cddebf8c31c7b4c463e..b93cbfdcc6b3b4aa76ae305b978ac0373e10a3c4 100644 |
--- a/components/mus/ws/window_manager_state.h |
+++ b/components/mus/ws/window_manager_state.h |
@@ -66,12 +66,20 @@ class WindowManagerState : public EventDispatcherDelegate { |
return got_frame_decoration_values_; |
} |
- void SetCapture(ServerWindow* window, bool in_nonclient_area); |
+ bool SetCapture(ServerWindow* window, bool in_nonclient_area); |
ServerWindow* capture_window() { return event_dispatcher_.capture_window(); } |
const ServerWindow* capture_window() const { |
return event_dispatcher_.capture_window(); |
} |
+ // Checks if |modal_window| is a visible modal window that blocks current |
+ // capture window and if that's the case, releases the capture. |
+ void ReleaseCaptureBlockedByModalWindow(const ServerWindow* modal_window); |
+ |
+ // Checks if the current capture window is blocked by any visible modal window |
+ // and if that's the case, releases the capture. |
+ void ReleaseCaptureBlockedByAnyModalWindow(); |
+ |
// Returns true if this is the WindowManager of the active user. |
bool IsActive() const; |