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

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

Issue 2710703005: GpuDisplayCompositorFrameSink => GpuRootCompositorFrameSink (Closed)
Patch Set: Addressed Dana's comments Created 3 years, 10 months 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
« no previous file with comments | « no previous file | components/display_compositor/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"; 7 import "cc/ipc/frame_sink_id.mojom";
8 import "cc/ipc/local_surface_id.mojom"; 8 import "cc/ipc/local_surface_id.mojom";
9 import "cc/ipc/mojo_compositor_frame_sink.mojom"; 9 import "cc/ipc/mojo_compositor_frame_sink.mojom";
10 import "cc/ipc/surface_id.mojom"; 10 import "cc/ipc/surface_id.mojom";
(...skipping 22 matching lines...) Expand all
33 // MojoCompositorFrameSink interface, and implement a 33 // MojoCompositorFrameSink interface, and implement a
34 // MojoCompositorFrameSinkClient interface. The display compositor host 34 // MojoCompositorFrameSinkClient interface. The display compositor host
35 // holds one or more root CompositorFrameSinks that are tied to a valid 35 // holds one or more root CompositorFrameSinks that are tied to a valid
36 // |surface_handle|. All other CompositorFrameSinks are offscreen. FrameSinkIds 36 // |surface_handle|. All other CompositorFrameSinks are offscreen. FrameSinkIds
37 // are fixed for a given client and are determined ahead of time. Thus, a client 37 // are fixed for a given client and are determined ahead of time. Thus, a client
38 // will typically simply request a CompositorFrameSink from the display 38 // will typically simply request a CompositorFrameSink from the display
39 // compositor host which will forward the request to the display compositor. 39 // compositor host which will forward the request to the display compositor.
40 interface DisplayCompositor { 40 interface DisplayCompositor {
41 // Create a CompositorFrameSink for a privileged client (e.g. WindowServer). 41 // Create a CompositorFrameSink for a privileged client (e.g. WindowServer).
42 // This is only used by privileged clients. The client can call methods that 42 // This is only used by privileged clients. The client can call methods that
43 // talks to the cc::Display (e.g. ResizeDisplay(), SetDisplayVisible(), etc) 43 // talks to the Display (e.g. ResizeDisplay(), SetDisplayVisible(), etc)
44 CreateDisplayCompositorFrameSink( 44 CreateRootCompositorFrameSink(
45 cc.mojom.FrameSinkId frame_sink_id, 45 cc.mojom.FrameSinkId frame_sink_id,
46 gpu.mojom.SurfaceHandle widget, 46 gpu.mojom.SurfaceHandle widget,
47 associated cc.mojom.MojoCompositorFrameSink& compositor_frame_sink, 47 associated cc.mojom.MojoCompositorFrameSink& compositor_frame_sink,
48 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private, 48 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private,
49 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client, 49 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client,
50 associated DisplayPrivate& display_private); 50 associated DisplayPrivate& display_private);
51 51
52 // CreateOffscreenCompositorFrameSink is used by unprivileged clients. 52 // CreateCompositorFrameSink is used by unprivileged clients.
53 // An off screen CompositorFrameSink only submits frames to a buffer instead 53 // This CompositorFrameSink is not a root, and has to be parented by another
54 // of a display. 54 // CompositorFrameSink in order to appear on screen.
55 CreateOffscreenCompositorFrameSink( 55 CreateCompositorFrameSink(
56 cc.mojom.FrameSinkId frame_sink_id, 56 cc.mojom.FrameSinkId frame_sink_id,
57 cc.mojom.MojoCompositorFrameSink& compositor_frame_sink, 57 cc.mojom.MojoCompositorFrameSink& compositor_frame_sink,
58 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private, 58 cc.mojom.MojoCompositorFrameSinkPrivate& compositor_frame_sink_private,
59 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client); 59 cc.mojom.MojoCompositorFrameSinkClient compositor_frame_sink_client);
60 }; 60 };
61 61
62 // The DisplayCompositorClient interface is implemented by the Display 62 // The DisplayCompositorClient interface is implemented by the Display
63 // Compositor Host, a stable, and privileged peer service to the display 63 // Compositor Host, a stable, and privileged peer service to the display
64 // compositor. The display compositor host is either the browser process in 64 // compositor. The display compositor host is either the browser process in
65 // Chrome or the window server process. 65 // Chrome or the window server process.
66 interface DisplayCompositorClient { 66 interface DisplayCompositorClient {
67 // Called by the display compositor immediately upon receiving a 67 // Called by the display compositor immediately upon receiving a
68 // CompositorFrame with a new SurfaceId for the first time. 68 // CompositorFrame with a new SurfaceId for the first time.
69 OnSurfaceCreated(SurfaceInfo surface_info); 69 OnSurfaceCreated(SurfaceInfo surface_info);
70 }; 70 };
OLDNEW
« no previous file with comments | « no previous file | components/display_compositor/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698