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

Unified Diff: mojo/shell/public/interfaces/connector.mojom

Issue 1770533002: Change userid from a uint32_t to a string guid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@33connector
Patch Set: . Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/shell/public/cpp/shell_test.h ('k') | mojo/shell/public/interfaces/shell.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/shell/public/interfaces/connector.mojom
diff --git a/mojo/shell/public/interfaces/connector.mojom b/mojo/shell/public/interfaces/connector.mojom
index ede52e30c99baaa22a9e08e2c77127f95302ea77..6b00b34079213353863abc7dc7d230f8c8ddb072 100644
--- a/mojo/shell/public/interfaces/connector.mojom
+++ b/mojo/shell/public/interfaces/connector.mojom
@@ -6,11 +6,12 @@ module mojo.shell.mojom;
import "mojo/shell/public/interfaces/interface_provider.mojom";
+const string kRootUserID = "505C0EE9-3013-43C0-82B0-A84F50CF8D84";
+const string kInheritUserID = "D26290E4-4485-4EAE-81A2-66D1EEB40A9D";
+
// Encapsulates establishing connections with other Mojo applications.
interface Connector {
const uint32 kInvalidApplicationID = 0;
- const uint32 kUserRoot = 0;
- const uint32 kUserInherit = 1;
// Requests a connection with another application. The application originating
// the request is referred to as the "source" and the one receiving the
@@ -33,15 +34,18 @@ interface Connector {
// user_id
// The user id of the target application instance to connect to. If no such
// instance exists, the shell may start one. This user id will be passed
- // to the new instance via Initialize(). Applications must generally set
- // this to kUserInherit, and the shell will either connect to an existing
- // instance matching the caller's user id, create a new instance matching
- // the caller's user id, or connect to an existing instance running as
- // kUserRoot. By default, applications do not have the ability to pass
- // arbitrary values to this method, and doing so will result in a
+ // to the new instance via Initialize(). Applications must generally pass
+ // kInheritUserID for this value, and the shell will either connect to an
+ // existing instance matching the caller's user id, create a new instance
+ // matching the caller's user id, or connect to an existing instance
+ // running as kRootUserID. By default, applications do not have the ability
+ // to pass arbitrary values to this method, and doing so will result in a
// connection error on the remote service provider. An application with
// the ability to launch applications with arbitrary user ids (e.g. a login
- // app) may set this value to something meaningful to it.
+ // app) may set this value to something meaningful to it. The user id
+ // string is a valid guid of the form "%08X-%04X-%04X-%04X-%012llX", and
+ // (aside from the root user whose guid is defined above) intended to be
+ // not-guessable.
//
// remote_interfaces
// Allows the source application access to interface implementations
@@ -57,20 +61,19 @@ interface Connector {
//
// Response parameters:
//
- // application_id
- // A unique identifier for the instance that was connected to.
- //
// user_id
// The user id the shell ran the target application as. Typically a client
- // passes kUserInherit to Connect(), which is an invalid user id, so this
- // value in the response is guaranteed to be a valid user id, either the
- // id connected to, or kUserRoot if no user-specific instance was located.
+ // passes kInheritUserID as the user id to Connect() which is resolved by
+ // the shell into a valid user id returned through this callback.
+ //
+ // application_id
+ // A unique identifier for the instance that was connected to.
//
Connect(string name,
- uint32 user_id,
+ string user_id,
InterfaceProvider&? remote_interfaces,
- InterfaceProvider? local_interfaces) => (uint32 application_id,
- uint32 user_id);
+ InterfaceProvider? local_interfaces) => (string user_id,
+ uint32 application_id);
// Clones this Connector so it can be passed to another thread.
Clone(Connector& request);
« no previous file with comments | « mojo/shell/public/cpp/shell_test.h ('k') | mojo/shell/public/interfaces/shell.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698