1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5module viz.mojom;
6
7import "services/viz/public/mojom/compositing/frame_sink_id.mojom";
8import "services/viz/public/mojom/compositing/local_surface_id.mojom";
9
10// A surface ID is composed of two parts: a FrameSinkID, and a LocalSurfaceId.
11// The FrameSinkId uniquely identifies the FrameSink associated with the
12// surface. This corresponds to a SurfaceFactory in the display compositor
13// service. The FrameSinkId is partially allocated by the display compositor
14// and partially allocated by the frame source.
15// The LocalSurfaceId are allocated by the client using any scheme
16// that avoids duplicates and makes IDs unguessable respectively.
17struct SurfaceId {
18  FrameSinkId frame_sink_id;
19  LocalSurfaceId local_surface_id;
20};
21