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

Side by Side Diff: mojo/services/ui/views/interfaces/views.mojom

Issue 1552043002: Make Mozart view manager use the new compositor. (Closed) Base URL: git@github.com:domokit/mojo.git@moz-12
Patch Set: Created 4 years, 11 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 [DartPackage="mojo_services"] 5 [DartPackage="mojo_services"]
6 module mojo.ui; 6 module mojo.ui;
7 7
8 import "mojo/public/interfaces/application/service_provider.mojom"; 8 import "mojo/public/interfaces/application/service_provider.mojom";
9 import "mojo/services/gfx/composition/interfaces/scenes.mojom";
9 import "mojo/services/ui/views/interfaces/layouts.mojom"; 10 import "mojo/services/ui/views/interfaces/layouts.mojom";
10 11
11 // A view token is an opaque transferable reference to a view. 12 // A view token is an opaque transferable reference to a view.
12 // 13 //
13 // The ViewManager provides each view with a unique view token when 14 // The ViewManager provides each view with a unique view token when
14 // it is registered. The token can subsequently be passed to other 15 // it is registered. The token can subsequently be passed to other
15 // applications and may be used to add the view as a child of some 16 // applications and may be used to add the view as a child of some
16 // other view or to set it as the root of a view tree. 17 // other view or to set it as the root of a view tree.
17 // 18 //
18 // View tokens should be kept secret and should only be shared with 19 // View tokens should be kept secret and should only be shared with
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 // 63 //
63 // The implementation should invoke the callback once the event has 64 // The implementation should invoke the callback once the event has
64 // been handled and the view is ready to be shown in its new aspect. 65 // been handled and the view is ready to be shown in its new aspect.
65 // 66 //
66 // The result of the layout may cause the parent's layout to be invalidated. 67 // The result of the layout may cause the parent's layout to be invalidated.
67 // When this happens, the parent's own OnLayout() method will be called 68 // When this happens, the parent's own OnLayout() method will be called
68 // and will be informed that this child needs layout. 69 // and will be informed that this child needs layout.
69 // 70 //
70 // Recursive layout happens in any of the following circumstances: 71 // Recursive layout happens in any of the following circumstances:
71 // 72 //
72 // 1. If the resulting surface has changed since the last layout. 73 // 1. If the resulting scene has changed since the last layout.
73 // 2. If the resulting size has changed since the last layout. 74 // 2. If the resulting size has changed since the last layout.
74 // 75 //
75 // It is an error to return a malformed |info| which does not satisfy 76 // It is an error to return a malformed |result| which does not satisfy
76 // the requested |layout_params|, such as by returning a size which 77 // the requested |layout_params|, such as by returning a size which
77 // exceeds the requested constraints; the view's connection will be closed. 78 // exceeds the requested constraints; the view's connection will be closed.
78 OnLayout(mojo.ui.ViewLayoutParams layout_params, 79 OnLayout(mojo.ui.ViewLayoutParams layout_params,
79 array<uint32> children_needing_layout) => (mojo.ui.ViewLayoutInfo info); 80 array<uint32> children_needing_layout) => (mojo.ui.ViewLayoutResult result);
80 81
81 // Called when a child view has become unavailable. 82 // Called when a child view has become unavailable.
82 // 83 //
83 // A child may become unavailable for many reasons such being unregistered 84 // A child may become unavailable for many reasons such being unregistered
84 // by its application, abnormal termination of its application, or 85 // by its application, abnormal termination of its application, or
85 // cycles being introduced in the view tree. 86 // cycles being introduced in the view tree.
86 // 87 //
87 // To complete removal of an unavailable child, this view component must 88 // To complete removal of an unavailable child, this view component must
88 // call RemoveChild() on its view host with |child_key|. 89 // call RemoveChild() on its view host with |child_key|.
89 // 90 //
90 // The implementation should invoke the callback once the event has 91 // The implementation should invoke the callback once the event has
91 // been handled. 92 // been handled.
92 OnChildUnavailable(uint32 child_key) => (); 93 OnChildUnavailable(uint32 child_key) => ();
93 }; 94 };
94 95
95 // The view host provides an interface for a view to configure itself and 96 // The view host provides an interface for a view to configure itself and
96 // interact with its local environment, such as adding and removing 97 // interact with its local environment, such as adding and removing
97 // children and specifying layout constraints. 98 // children and specifying layout constraints.
98 // 99 //
99 // Each view obtains its own view host when registered with the ViewManager. 100 // Each view obtains its own view host when registered with the ViewManager.
100 // To unregister the view, close its view host message pipe. 101 // To unregister the view, close its view host message pipe.
101 interface ViewHost { 102 interface ViewHost {
102 // Gets a service provider to access services which are associated with 103 // Gets a service provider to access services which are associated with
103 // the view such as input, accessibility and editing capabilities. 104 // the view such as input, accessibility and editing capabilities.
104 // The view service provider is private to the view and should not be 105 // The view service provider is private to the view and should not be
105 // shared with anyone else. 106 // shared with anyone else.
107 //
108 // See |mojo.ui.InputConnection|.
106 GetServiceProvider(mojo.ServiceProvider& service_provider); 109 GetServiceProvider(mojo.ServiceProvider& service_provider);
107 110
111 // Creates the view's scene, replacing any previous scene the view
112 // might have had.
113 //
114 // The |scene| is used to supply content for the scene. The scene pipe
115 // is private to the scene and should not be shared with anyone else.
116 //
117 // To destroy the scene, simply close the |scene| message pipe.
118 //
119 // See also: |mojo.gfx.composition.Compositor.CreateScene()|.
120 CreateScene(mojo.gfx.composition.Scene& scene);
121
108 // Requests that the view's OnLayout() method be called to compute a 122 // Requests that the view's OnLayout() method be called to compute a
109 // new layout due to a change in the view's layout information. 123 // new layout due to a change in the view's layout information.
110 RequestLayout(); 124 RequestLayout();
111 125
112 // Adds the view referenced by |child_view_token| as a child and assigns 126 // Adds the view referenced by |child_view_token| as a child and assigns
113 // it the provided |child_key| to identify it among its children. 127 // it the provided |child_key| to identify it among its children.
114 // The parent may remove the child later by passing the same |child_key| 128 // The parent may remove the child later by passing the same |child_key|
115 // to RemoveChild(). 129 // to RemoveChild().
116 // 130 //
117 // It is important for the parent to choose locally unique values for 131 // It is important for the parent to choose locally unique values for
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 // or because the child has become unavailable. 172 // or because the child has become unavailable.
159 // 173 //
160 // It is an error to specify a |child_key| that does not appear in 174 // It is an error to specify a |child_key| that does not appear in
161 // the parent's list of children; the connection will be closed. 175 // the parent's list of children; the connection will be closed.
162 // 176 //
163 // It is an error to specify malformed |child_layout_params| such 177 // It is an error to specify malformed |child_layout_params| such
164 // as invalid size constraints; the connection will be closed. 178 // as invalid size constraints; the connection will be closed.
165 LayoutChild(uint32 child_key, mojo.ui.ViewLayoutParams child_layout_params) 179 LayoutChild(uint32 child_key, mojo.ui.ViewLayoutParams child_layout_params)
166 => (mojo.ui.ViewLayoutInfo? info); 180 => (mojo.ui.ViewLayoutInfo? info);
167 }; 181 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698