| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 module mus.mojom; | |
| 6 | |
| 7 // A surface ID is composed of three parts: a namespace, a local ID, and a | |
| 8 // nonce. The local part and nonce are allocated by the client using any scheme | |
| 9 // that avoids duplicates and makes IDs unguessable respectively. The namespace | |
| 10 // is allocated by the service and will be different for each client. | |
| 11 // | |
| 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 | |
| 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 | |
| 16 // surface ids to other clients for them to reference. | |
| 17 struct SurfaceId { | |
| 18 // A service allocated ID identifying a client. | |
| 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; | |
| 28 }; | |
| OLD | NEW |