Index: components/mus/ws/window_tree_impl.cc |
diff --git a/components/mus/ws/window_tree_impl.cc b/components/mus/ws/window_tree_impl.cc |
index f144d3ad60930d06e3a3a554adb700ffdf16a8fb..eb8222dff81b7abf8f975b360ef255d533c520eb 100644 |
--- a/components/mus/ws/window_tree_impl.cc |
+++ b/components/mus/ws/window_tree_impl.cc |
@@ -228,6 +228,15 @@ bool WindowTreeImpl::AddTransientWindow( |
return false; |
} |
+bool WindowTreeImpl::SetAsModal(const ClientWindowId& window_id) { |
+ ServerWindow* window = GetWindowByClientId(window_id); |
+ if (window && access_policy_->CanSetAsModal(window)) { |
+ window->SetAsModal(); |
+ return true; |
+ } |
+ return false; |
+} |
+ |
std::vector<const ServerWindow*> WindowTreeImpl::GetWindowTree( |
const ClientWindowId& window_id) const { |
const ServerWindow* window = GetWindowByClientId(window_id); |
@@ -980,6 +989,10 @@ void WindowTreeImpl::RemoveTransientWindowFromParent(uint32_t change_id, |
client_->OnChangeCompleted(change_id, success); |
} |
+void WindowTreeImpl::SetAsModal(uint32_t change_id, Id window_id) { |
+ client_->OnChangeCompleted(change_id, SetAsModal(ClientWindowId(window_id))); |
+} |
+ |
void WindowTreeImpl::ReorderWindow(uint32_t change_id, |
Id window_id, |
Id relative_window_id, |