Index: cc/ipc/surface_id.mojom |
diff --git a/cc/ipc/surface_id.mojom b/cc/ipc/surface_id.mojom |
index 32db3188156da8a0cc1ca4cf179dd10fe79b291b..a3c6bc143055d29f1ec56b82d19497018a37386e 100644 |
--- a/cc/ipc/surface_id.mojom |
+++ b/cc/ipc/surface_id.mojom |
@@ -5,25 +5,16 @@ |
module cc.mojom; |
import "cc/ipc/frame_sink_id.mojom"; |
+import "cc/ipc/local_frame_id.mojom"; |
-// A surface ID is composed of three parts: a client ID, a local ID, and a |
-// nonce. The local part and nonce are allocated by the client using any scheme |
-// that avoids duplicates and makes IDs unguessable respectively. The client ID |
-// is allocated by the service and will be different for each client. |
-// |
-// The special client_id value 0 is equivalent to the current client. |
-// This can be used to create, destroy and submit frames to surfaces before |
-// learning the client ID and to reference other surfaces owned by the same |
-// client. The actual client ID must be used to pass surface ids to other |
-// clients for them to reference. |
+// A surface ID is composed of two parts: a FrameSinkID, and a LocalFrameId. |
+// The FrameSinkId uniquely identifies the FrameSink associated with the |
+// surface. This corresponds to a SurfaceFactory in the display compositor |
+// service. The FrameSinkId is partially allocated by the display compositor |
+// and partially allocated by the frame source. |
+// The LocalFrameId are allocated by the client using any scheme |
+// that avoids duplicates and makes IDs unguessable respectively. |
struct SurfaceId { |
FrameSinkId frame_sink_id; |
- |
- // An identifier allocated by the client uniquely identifying a surface within |
- // a client process. |
- uint32 local_id; |
- |
- // A cryptographically secure random int chosen to make the SurfaceId |
- // unguessable by other clients. |
- uint64 nonce; |
+ LocalFrameId local_frame_id; |
}; |