Index: third_party/mojo_services/src/surfaces/public/interfaces/surfaces.mojom |
diff --git a/third_party/mojo_services/src/surfaces/public/interfaces/surfaces.mojom b/third_party/mojo_services/src/surfaces/public/interfaces/surfaces.mojom |
index 7badcd342655c2eb1508c9df8011c427a4a9e3c2..71aed7ea94935afa68f750220327def2a9b16619 100644 |
--- a/third_party/mojo_services/src/surfaces/public/interfaces/surfaces.mojom |
+++ b/third_party/mojo_services/src/surfaces/public/interfaces/surfaces.mojom |
@@ -52,21 +52,28 @@ struct Frame { |
array<Pass> passes; |
}; |
-interface SurfaceClient { |
- // This sets the id namespace for this connection. This method will be invoked |
- // exactly once when a new connection is established. |
- SetIdNamespace(uint32 id_namespace); |
+interface ResourceReturner { |
ReturnResources(array<ReturnedResource> resources); |
}; |
-[Client=SurfaceClient] |
interface Surface { |
+ // Request the id namespace for this connection. Fully qualified surface ids |
+ // are the combination of the id_namespace for the connection that created the |
+ // surface and the id_local component allocated by the caller. |
+ GetIdNamespace() => (uint32 id_namespace); |
+ |
+ // Sets a ResourceReturner that will receive unused resources. |
+ SetResourceReturner(ResourceReturner returner); |
+ |
+ // Creates a new surface with the given local identifier. Once a surface is |
+ // created the caller may submit frames to it or destroy it using the local |
+ // identifier. The caller can also produce a fully qualified surface id that |
+ // can be embedded in frames produces by different connections. |
CreateSurface(uint32 id_local); |
- // The client can only submit frames to surfaces created with this |
- // connection. After the submitted frame is drawn for the first time, the |
- // surface will respond to the SubmitFrame message. Clients should use this |
- // acknowledgement to ratelimit frame submissions. |
+ // After the submitted frame is drawn for the first time, the surface will |
+ // respond to the SubmitFrame message. Clients should use this acknowledgement |
+ // to ratelimit frame submissions. |
SubmitFrame(uint32 id_local, Frame frame) => (); |
DestroySurface(uint32 id_local); |