| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module blink.mojom; |
| |
| import "cc/ipc/compositor_frame.mojom"; |
| import "cc/ipc/surface_id.mojom"; |
| import "cc/ipc/surface_sequence.mojom"; |
| |
| interface OffscreenCanvasSurface { |
| // TODO(619138): Make creation of surface id Async after implementation |
| // change on surface_id generator that makes client side be able to generate |
| // unique surface_id.id_namespace alone. |
| [Sync] |
| GetSurfaceId() => (cc.mojom.SurfaceId surface_id); |
| RequestSurfaceCreation(cc.mojom.SurfaceId surface_id); |
| |
| Require(cc.mojom.SurfaceId surface_id, cc.mojom.SurfaceSequence sequence); |
| Satisfy(cc.mojom.SurfaceSequence sequence); |
| }; |
| |
| // This interface is called from either worker or main thread in renderer, but |
| // not both for the same OffscreenCanvas instance. |
| // TODO(xlai): Make commit() work for worker. See crbug.com/563858. |
| interface OffscreenCanvasFrameReceiver { |
| |
| SubmitCompositorFrame(cc.mojom.SurfaceId surface_id, cc.mojom.CompositorFrame compositor_frame); |
| |
| }; |
| |