Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 module cc.mojom; | 5 module cc.mojom; |
| 6 | 6 |
| 7 import "cc/ipc/frame_sink_id.mojom"; | |
| 8 import "cc/ipc/mojo_compositor_frame_sink.mojom"; | |
| 7 import "cc/ipc/surface_id.mojom"; | 9 import "cc/ipc/surface_id.mojom"; |
| 10 import "cc/ipc/surface_sequence.mojom"; | |
| 11 import "gpu/ipc/common/surface_handle.mojom"; | |
| 8 import "ui/gfx/geometry/mojo/geometry.mojom"; | 12 import "ui/gfx/geometry/mojo/geometry.mojom"; |
| 9 | 13 |
| 14 // The DisplayCompositor interface is a privileged interface that allows | |
| 15 // the display compositor host (browser or window server) to create | |
| 16 // CompositorFrameSinks. | |
| 17 interface DisplayCompositor { | |
|
rjkroege
2016/11/21 23:05:36
Please note how normal clients make themselves Com
Fady Samuel
2016/11/22 01:02:23
Done.
| |
| 18 CreateCompositorFrameSink( | |
| 19 cc.mojom.FrameSinkId frame_sink_id, | |
| 20 gpu.mojom.SurfaceHandle widget, | |
| 21 cc.mojom.MojoCompositorFrameSink& compositor_frame_sink, | |
| 22 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private, | |
| 23 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client); | |
| 24 | |
| 25 // TODO(fsamuel): This surface reference API is temporary.Surface references | |
| 26 // should be bundled with CompositorFrames. | |
| 27 AddRootSurfaceReference(cc.mojom.SurfaceId child_id); | |
| 28 AddSurfaceReference(cc.mojom.SurfaceId parent_id, | |
| 29 cc.mojom.SurfaceId child_id); | |
| 30 RemoveRootSurfaceReference(cc.mojom.SurfaceId child_id); | |
| 31 RemoveSurfaceReference(cc.mojom.SurfaceId parent_id, | |
| 32 cc.mojom.SurfaceId child_id); | |
| 33 }; | |
| 34 | |
| 10 // The DisplayCompositorClient interface is implemented by the Display | 35 // The DisplayCompositorClient interface is implemented by the Display |
| 11 // Compositor Host, a stable, and privileged peer service to the display | 36 // Compositor Host, a stable, and privileged peer service to the display |
| 12 // compositor. The display compositor host is either the browser process in | 37 // compositor. The display compositor host is either the browser process in |
| 13 // Chrome or the window server process. | 38 // Chrome or the window server process. |
| 14 interface DisplayCompositorClient { | 39 interface DisplayCompositorClient { |
| 15 // Called by the display compositor immediately upon receiving a | 40 // Called by the display compositor immediately upon receiving a |
| 16 // CompositorFrame with a new SurfaceId for the first time. | 41 // CompositorFrame with a new SurfaceId for the first time. |
| 17 OnSurfaceCreated(cc.mojom.SurfaceId surface_id, | 42 OnSurfaceCreated(cc.mojom.SurfaceId surface_id, |
| 18 gfx.mojom.Size frame_size, | 43 gfx.mojom.Size frame_size, |
| 19 float device_scale_factor); | 44 float device_scale_factor); |
| 20 }; | 45 }; |
| OLD | NEW |