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

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

Issue 2388753003: Introduce cc::LocalFrameId and use in SurfaceFactory (Closed)
Patch Set: Fix exo_unittests Created 4 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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_frame_id.mojom";
8 9
9 // A surface ID is composed of three parts: a client ID, a local ID, and a 10 // A surface ID is composed of two parts: a FrameSinkID, and a LocalFrameId.
10 // nonce. The local part and nonce are allocated by the client using any scheme 11 // The FrameSinkId uniquely identifies the FrameSink associated with the
11 // that avoids duplicates and makes IDs unguessable respectively. The client ID 12 // surface. This corresponds to a SurfaceFactory in the display compositor
12 // is allocated by the service and will be different for each client. 13 // service. The FrameSinkId is partially allocated by the display compositor
13 // 14 // and partially allocated by the frame source.
14 // The special client_id value 0 is equivalent to the current client. 15 // The LocalFrameId are allocated by the client using any scheme
15 // This can be used to create, destroy and submit frames to surfaces before 16 // that avoids duplicates and makes IDs unguessable respectively.
16 // learning the client ID and to reference other surfaces owned by the same
17 // client. The actual client ID must be used to pass surface ids to other
18 // clients for them to reference.
19 struct SurfaceId { 17 struct SurfaceId {
20 FrameSinkId frame_sink_id; 18 FrameSinkId frame_sink_id;
21 19 LocalFrameId local_frame_id;
22 // An identifier allocated by the client uniquely identifying a surface within
23 // a client process.
24 uint32 local_id;
25
26 // A cryptographically secure random int chosen to make the SurfaceId
27 // unguessable by other clients.
28 uint64 nonce;
29 }; 20 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698