blob: 55d34ee9a91eb0dfe0846c773559bcbc3711e2dd [file] [log] [blame]
// 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);
};