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

Side by Side Diff: components/mus/public/interfaces/surface_id.mojom

Issue 1996783002: Make cc::SurfaceId unguessable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Ben's comment Created 4 years, 6 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 | « cc/surfaces/surface_unittest.cc ('k') | components/mus/ws/server_window_surface.cc » ('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 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 mus.mojom; 5 module mus.mojom;
6 6
7 // A surface ID is composed of two parts, a local part and a namespace. The 7 // A surface ID is composed of three parts: a namespace, a local ID, and a
8 // local part is allocated by the client using any scheme that avoids 8 // nonce. The local part and nonce are allocated by the client using any scheme
9 // duplicates. The namespace is allocated by the service and will be different 9 // that avoids duplicates and makes IDs unguessable respectively. The namespace
10 // for each client (aka each connection to mojo.Surface). 10 // is allocated by the service and will be different for each client.
11 // 11 //
12 // The special id_namespace value 0 is equivalent to the namespace of the 12 // The special id_namespace value 0 is equivalent to the namespace of the
13 // client. This can be used to create, destroy and submit frames to 13 // client. This can be used to create, destroy and submit frames to
14 // surfaces before learning the namespace and to reference other surfaces 14 // surfaces before learning the namespace and to reference other surfaces
15 // owned by the same client. The actual id namespace must be used to pass 15 // owned by the same client. The actual id namespace must be used to pass
16 // surface ids to other clients for them to reference. 16 // surface ids to other clients for them to reference.
17 struct SurfaceId { 17 struct SurfaceId {
18 uint32 local; 18 // A service allocated ID identifying a client.
19 uint32 id_namespace; 19 uint32 id_namespace;
20
21 // An identifier allocated by the client uniquely identifying a surface within
22 // a client process.
23 uint32 local_id;
24
25 // A cryptographically secure random int chosen to make the SurfaceId
26 // unguessable by other clients.
27 uint64 nonce;
20 }; 28 };
OLDNEW
« no previous file with comments | « cc/surfaces/surface_unittest.cc ('k') | components/mus/ws/server_window_surface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698