Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(413)

Side by Side Diff: cc/ipc/display_compositor.mojom

Issue 2481263002: Introduce Display Compositor mojo interface. Use InProcessContextProvider. (Closed)
Patch Set: Make ContextProvider NON_EXPORTED_BASE of InProcessContextProvider Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 {
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): Remove these once we switch to surface references.
26 AddSurfaceReference(cc.mojom.SurfaceId surface_id,
27 cc.mojom.SurfaceSequence sequence);
28 ReturnSurfaceReferences(cc.mojom.FrameSinkId frame_sink_id,
29 array<uint32> sequences);
30 };
31
10 // The DisplayCompositorClient interface is implemented by the Display 32 // The DisplayCompositorClient interface is implemented by the Display
11 // Compositor Host, a stable, and privileged peer service to the display 33 // Compositor Host, a stable, and privileged peer service to the display
12 // compositor. The display compositor host is either the browser process in 34 // compositor. The display compositor host is either the browser process in
13 // Chrome or the window server process. 35 // Chrome or the window server process.
14 interface DisplayCompositorClient { 36 interface DisplayCompositorClient {
15 // Called by the display compositor immediately upon receiving a 37 // Called by the display compositor immediately upon receiving a
16 // CompositorFrame with a new SurfaceId for the first time. 38 // CompositorFrame with a new SurfaceId for the first time.
17 OnSurfaceCreated(cc.mojom.SurfaceId surface_id, 39 OnSurfaceCreated(cc.mojom.SurfaceId surface_id,
18 gfx.mojom.Size frame_size, 40 gfx.mojom.Size frame_size,
19 float device_scale_factor); 41 float device_scale_factor);
20 }; 42 };
OLDNEW
« no previous file with comments | « no previous file | cc/output/in_process_context_provider.h » ('j') | gpu/ipc/gpu_in_process_thread_service.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698