Index: components/view_manager/public/interfaces/compositor_frame.mojom |
diff --git a/components/view_manager/public/interfaces/compositor_frame.mojom b/components/view_manager/public/interfaces/compositor_frame.mojom |
index fb7021702ae47c1de5ad77705877d2741c77fa9d..d206af7e7fee6630b01a256cd23575095bdf3bb4 100644 |
--- a/components/view_manager/public/interfaces/compositor_frame.mojom |
+++ b/components/view_manager/public/interfaces/compositor_frame.mojom |
@@ -25,10 +25,6 @@ struct ReturnedResource { |
bool lost; |
}; |
-interface ResourceReturner { |
- ReturnResources(array<ReturnedResource> resources); |
-}; |
- |
// See src/gpu/command_buffer/common/mailbox.h. |
struct Mailbox { |
array<int8, 64> name; |
@@ -62,3 +58,17 @@ struct CompositorFrame { |
array<TransferableResource> resources; |
array<Pass> passes; |
}; |
+ |
+// A Surface is an interface for receiving CompositorFrame structs. This is a |
+// separate interface to allow CompositorFrames to be delivered from |
+// supplementary (not main) threads of a mojo app. |
+interface Surface { |
+ // After the submitted frame is drawn for the first time, the receiver will |
+ // respond to the SubmitFrame message. Clients should use this acknowledgement |
+ // to ratelimit frame submissions. |
+ SubmitCompositorFrame(CompositorFrame frame) => (); |
+}; |
+ |
+interface SurfaceClient { |
+ ReturnResources(array<ReturnedResource> resources); |
+}; |