| 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"; | 7 import "cc/ipc/frame_sink_id.mojom"; |
| 8 import "cc/ipc/mojo_compositor_frame_sink.mojom"; | 8 import "cc/ipc/mojo_compositor_frame_sink.mojom"; |
| 9 import "cc/ipc/surface_id.mojom"; | 9 import "cc/ipc/surface_id.mojom"; |
| 10 import "cc/ipc/surface_sequence.mojom"; | 10 import "cc/ipc/surface_sequence.mojom"; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 // are fixed for a given client and are determined ahead of time. Thus, a client | 22 // are fixed for a given client and are determined ahead of time. Thus, a client |
| 23 // will typically simply request a CompositorFrameSink from the display | 23 // will typically simply request a CompositorFrameSink from the display |
| 24 // compositor host which will forward the request to the display compositor. | 24 // compositor host which will forward the request to the display compositor. |
| 25 interface DisplayCompositor { | 25 interface DisplayCompositor { |
| 26 CreateCompositorFrameSink( | 26 CreateCompositorFrameSink( |
| 27 cc.mojom.FrameSinkId frame_sink_id, | 27 cc.mojom.FrameSinkId frame_sink_id, |
| 28 gpu.mojom.SurfaceHandle widget, | 28 gpu.mojom.SurfaceHandle widget, |
| 29 cc.mojom.MojoCompositorFrameSink& compositor_frame_sink, | 29 cc.mojom.MojoCompositorFrameSink& compositor_frame_sink, |
| 30 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private, | 30 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private, |
| 31 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client); | 31 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client); |
| 32 | |
| 33 // TODO(fsamuel): This surface reference API is temporary. Surface references | |
| 34 // should be bundled with CompositorFrames. | |
| 35 AddRootSurfaceReference(cc.mojom.SurfaceId child_id); | |
| 36 AddSurfaceReference(cc.mojom.SurfaceId parent_id, | |
| 37 cc.mojom.SurfaceId child_id); | |
| 38 RemoveRootSurfaceReference(cc.mojom.SurfaceId child_id); | |
| 39 RemoveSurfaceReference(cc.mojom.SurfaceId parent_id, | |
| 40 cc.mojom.SurfaceId child_id); | |
| 41 }; | 32 }; |
| 42 | 33 |
| 43 // The DisplayCompositorClient interface is implemented by the Display | 34 // The DisplayCompositorClient interface is implemented by the Display |
| 44 // Compositor Host, a stable, and privileged peer service to the display | 35 // Compositor Host, a stable, and privileged peer service to the display |
| 45 // compositor. The display compositor host is either the browser process in | 36 // compositor. The display compositor host is either the browser process in |
| 46 // Chrome or the window server process. | 37 // Chrome or the window server process. |
| 47 interface DisplayCompositorClient { | 38 interface DisplayCompositorClient { |
| 39 // Called by the display compostor when it is created. Provides the top level |
| 40 // root surface id that should reference display roots. This will always be |
| 41 // the first message sent. |
| 42 OnDisplayCompositorCreated(cc.mojom.SurfaceId root_surface_id); |
| 43 |
| 48 // Called by the display compositor immediately upon receiving a | 44 // Called by the display compositor immediately upon receiving a |
| 49 // CompositorFrame with a new SurfaceId for the first time. | 45 // CompositorFrame with a new SurfaceId for the first time. |
| 50 OnSurfaceCreated(cc.mojom.SurfaceId surface_id, | 46 OnSurfaceCreated(cc.mojom.SurfaceId surface_id, |
| 51 gfx.mojom.Size frame_size, | 47 gfx.mojom.Size frame_size, |
| 52 float device_scale_factor); | 48 float device_scale_factor); |
| 53 }; | 49 }; |
| OLD | NEW |