Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: mojo/services/public/interfaces/view_manager/view_manager.mojom

Issue 296003003: First step at setroots (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mojo/mojo_services.gypi ('k') | mojo/services/view_manager/type_converters.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module mojo.view_manager { 5 module mojo.view_manager {
6 6
7 struct INode { 7 struct INode {
8 uint32 parent_id; 8 uint32 parent_id;
9 uint32 node_id; 9 uint32 node_id;
10 uint32 view_id; 10 uint32 view_id;
(...skipping 21 matching lines...) Expand all
32 // are sent as a result of this. Only the connection that created the node can 32 // are sent as a result of this. Only the connection that created the node can
33 // delete it. 33 // delete it.
34 DeleteNode(uint32 node_id) => (bool success); 34 DeleteNode(uint32 node_id) => (bool success);
35 35
36 // Reparents a node. See description above class for details of |change_id|. 36 // Reparents a node. See description above class for details of |change_id|.
37 // This fails for any of the following reasons: 37 // This fails for any of the following reasons:
38 // . |server_change_id| is not the expected id. 38 // . |server_change_id| is not the expected id.
39 // . |parent| or |child| does not identify a valid node. 39 // . |parent| or |child| does not identify a valid node.
40 // . |child| is an ancestor of |parent|. 40 // . |child| is an ancestor of |parent|.
41 // . |child| is already a child of |parent|. 41 // . |child| is already a child of |parent|.
42 //
43 // This may result in a connection getting OnNodeDeleted(). See
44 // RemoveNodeFromParent for details.
42 AddNode(uint32 parent, 45 AddNode(uint32 parent,
43 uint32 child, 46 uint32 child,
44 uint32 server_change_id) => (bool success); 47 uint32 server_change_id) => (bool success);
45 48
46 // Removes a view from its current parent. See description above class for 49 // Removes a view from its current parent. See description above class for
47 // details of |change_id|. This fails if the node is not valid, 50 // details of |change_id|. This fails if the node is not valid,
48 // |server_change_id| doesn't match, or the node already has no parent. 51 // |server_change_id| doesn't match, or the node already has no parent.
52 //
53 // Removing a node from a parent may result in OnNodeDeleted() being sent to
54 // other connections. For example, connection A has nodes 1 and 2, with 2 a
55 // child of 1. Connection B has a root 1. If 2 is removed from 1 then B gets
56 // OnNodeDeleted(). This is done as node 2 is effectively no longer visible to
57 // connection B.
49 RemoveNodeFromParent(uint32 node_id, 58 RemoveNodeFromParent(uint32 node_id,
50 uint32 server_change_id) => (bool success); 59 uint32 server_change_id) => (bool success);
51 60
52 // Returns the nodes comprising the tree starting at |node_id|. |node_id| is 61 // Returns the nodes comprising the tree starting at |node_id|. |node_id| is
53 // the first result in the return value, unless |node_id| is invalid, in which 62 // the first result in the return value, unless |node_id| is invalid, in which
54 // case an empty vector is returned. The nodes are visited using a depth first 63 // case an empty vector is returned. The nodes are visited using a depth first
55 // search (pre-order). 64 // search (pre-order).
56 GetNodeTree(uint32 node_id) => (INode[] nodes); 65 GetNodeTree(uint32 node_id) => (INode[] nodes);
57 66
58 // Creates a new view with the specified id. It is up to the client to ensure 67 // Creates a new view with the specified id. It is up to the client to ensure
59 // the id is unique to the connection (the id need not be globally unique). 68 // the id is unique to the connection (the id need not be globally unique).
60 // Additionally the connection id (embedded in |view_id|) must match that of 69 // Additionally the connection id (embedded in |view_id|) must match that of
61 // the connection. 70 // the connection.
62 CreateView(uint32 view_id) => (bool success); 71 CreateView(uint32 view_id) => (bool success);
63 72
64 // Deletes the view with the specified id. Only the connection that created 73 // Deletes the view with the specified id. Only the connection that created
65 // the view can delete it. 74 // the view can delete it.
66 DeleteView(uint32 view_id) => (bool success); 75 DeleteView(uint32 view_id) => (bool success);
67 76
68 // Sets the view a node is showing. 77 // Sets the view a node is showing.
69 SetView(uint32 node_id, uint32 view_id) => (bool success); 78 SetView(uint32 node_id, uint32 view_id) => (bool success);
70 79
71 // Shows the specified image (png encoded) in the specified view. 80 // Shows the specified image (png encoded) in the specified view.
72 SetViewContents(uint32 view_id, 81 SetViewContents(uint32 view_id,
73 handle<shared_buffer> buffer, 82 handle<shared_buffer> buffer,
74 uint32 buffer_size); 83 uint32 buffer_size);
84
85 // Sets the ids of the roots for the specified connection.
86 // TODO(sky): this is temporary for testing. This needs to be conveyed at
87 // creation time of a new connection.
88 SetRoots(uint16 connection_id, uint32[] nodes) => (bool success);
75 }; 89 };
76 90
77 // Changes to nodes/views are not sent to the connection that originated the 91 // Changes to nodes/views are not sent to the connection that originated the
78 // change. For example, if connection 1 attaches a view to a node (SetView()) 92 // change. For example, if connection 1 attaches a view to a node (SetView())
79 // connection 1 does not receive OnNodeViewReplaced(). 93 // connection 1 does not receive OnNodeViewReplaced().
80 interface IViewManagerClient { 94 interface IViewManagerClient {
81 // Invoked once the connection has been established. |connection_id| is the id 95 // Invoked once the connection has been established. |connection_id| is the id
82 // that uniquely identifies this connection. |next_server_change_id| is the 96 // that uniquely identifies this connection. |next_server_change_id| is the
83 // id of the next change the server is expecting. |nodes| are the nodes 97 // id of the next change the server is expecting. |nodes| are the nodes
84 // parented to the root. 98 // parented to the root.
(...skipping 26 matching lines...) Expand all
111 125
112 // Invoked when the view associated with a node is replaced by another view. 126 // Invoked when the view associated with a node is replaced by another view.
113 // 0 is used to identify a null view. 127 // 0 is used to identify a null view.
114 OnNodeViewReplaced(uint32 node, uint32 new_view_id, uint32 old_view_id); 128 OnNodeViewReplaced(uint32 node, uint32 new_view_id, uint32 old_view_id);
115 129
116 // Invoked when a view is deleted. 130 // Invoked when a view is deleted.
117 OnViewDeleted(uint32 view); 131 OnViewDeleted(uint32 view);
118 }; 132 };
119 133
120 } 134 }
OLDNEW
« no previous file with comments | « mojo/mojo_services.gypi ('k') | mojo/services/view_manager/type_converters.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698