Index: mojo/services/public/interfaces/view_manager/view_manager.mojom |
diff --git a/mojo/services/public/interfaces/view_manager/view_manager.mojom b/mojo/services/public/interfaces/view_manager/view_manager.mojom |
index caf57a952e301ea8e851f35c0bc759ce2da62e1f..5edd9cee24893febf080314fce57ad195253be96 100644 |
--- a/mojo/services/public/interfaces/view_manager/view_manager.mojom |
+++ b/mojo/services/public/interfaces/view_manager/view_manager.mojom |
@@ -22,10 +22,17 @@ enum ErrorCode { |
ILLEGAL_ARGUMENT, |
}; |
-// ViewManagerInitService is responsible for launching the client that controls |
-// the root node. mojo::view_manager returns an instance of this. All other |
-// connections are established by the client this creates. |
+// ViewManagerInitService is used to grant an application a connection to the |
+// ViewManager by embedding it at an approriate Node. |
interface ViewManagerInitService { |
+ // Embed the application @ |url| at an appropriate Node. |
+ // The first time this method is called in the lifetime of a View Manager |
+ // application instance, the "appropriate Node" is defined as being the |
+ // service root Node. |
+ // Subsequent times, implementation of this method is delegated to the |
+ // application embedded at the service root Node. This application is |
+ // typically referred to as the "window manager", and will have a specific |
+ // definition of where within its Node hierarchy to embed an unparented URL. |
EmbedRoot(string url) => (bool success); |
}; |
@@ -193,8 +200,16 @@ interface ViewManagerClient { |
// removed. |
OnFocusChanged(uint32 gained_focus_id, uint32 lost_focus_id); |
- // TODO(sky): move to separate interface when FIFO sorted out. |
+ // TODO(sky): The following methods represent an interface between the view |
+ // manager and the application embedded at the service root node |
+ // (i.e. the window manager). These methods are not called on |
+ // any other clients. They should be moved to a separate interface |
+ // once support for derived FIFOs is landed. |
+ // Requests the window manager create a "top level" node embedding |url|. |
+ EmbedRoot(string url); |
+ |
+ // Requests the view manager dispatch the event targeted at |view|. |
DispatchOnViewInputEvent(uint32 view, mojo.Event event); |
}; |