Index: mash/wm/public/interfaces/user_window_controller.mojom |
diff --git a/mash/wm/public/interfaces/user_window_controller.mojom b/mash/wm/public/interfaces/user_window_controller.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9ec33ec5c66be0443b1ea0f9ad3d3c4fad309bf2 |
--- /dev/null |
+++ b/mash/wm/public/interfaces/user_window_controller.mojom |
@@ -0,0 +1,22 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+module mash.wm.mojom; |
+ |
+// An observer of user windows within mojom::CONTAINER_USER_WINDOWS. |
+// TODO(msw): Observe focus changes, title/icon changes, etc. |
+interface UserWindowObserver { |
+ // Called when the observer is first added to supply the initial state. |
+ OnUserWindowObserverAdded(array<uint32> window_ids); |
+ |
+ OnUserWindowAdded(uint32 window_id); |
+ OnUserWindowRemoved(uint32 window_id); |
+}; |
+ |
+// An interface allowing system UIs to manage the set of user windows. |
+// TODO(msw): Add minimization, restoration, opening a chooser view, etc. |
+interface UserWindowController { |
+ AddUserWindowObserver(UserWindowObserver observer); |
+ FocusUserWindow(uint32 window_id); |
+}; |