|  | // Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | [DartPackage="mojo_services"] | 
|  | module mojo; | 
|  |  | 
|  | // A surface ID is composed of two parts, a local part and a namespace. The | 
|  | // local part is allocated by the client using any scheme that avoids | 
|  | // duplicates. The namespace is allocated by the service and will be different | 
|  | // for each client (aka each connection to mojo.Surface). | 
|  | // | 
|  | // The special id_namespace value 0 is equivalent to the namespace of the | 
|  | // client. This can be used to create, destroy and submit frames to | 
|  | // surfaces before learning the namespace and to reference other surfaces | 
|  | // owned by the same client. The actual id namespace must be used to pass | 
|  | // surface ids to other clients for them to reference. | 
|  | struct SurfaceId { | 
|  | uint32 local; | 
|  | uint32 id_namespace; | 
|  | }; |