| Index: ash/public/interfaces/lock_screen.mojom
|
| diff --git a/ash/public/interfaces/lock_screen.mojom b/ash/public/interfaces/lock_screen.mojom
|
| index d29b331e358a170c9d54b99bd61f448b5cece027..0b4a1417191f445f44e381bc5974d67cd0d8b3d5 100644
|
| --- a/ash/public/interfaces/lock_screen.mojom
|
| +++ b/ash/public/interfaces/lock_screen.mojom
|
| @@ -5,6 +5,29 @@
|
| module ash.mojom;
|
|
|
| import "components/signin/public/interfaces/account_id.mojom";
|
| +import "mojo/common/string16.mojom";
|
| +import "mojo/common/values.mojom";
|
| +
|
| +// Supported authentication types. Keep in sync with enum in
|
| +// screenlock_bridge.h
|
| +enum AuthType {
|
| + OFFLINE_PASSWORD,
|
| + ONLINE_SIGN_IN,
|
| + NUMERIC_PIN,
|
| + USER_CLICK,
|
| + EXPAND_THEN_USER_CLICK,
|
| + FORCE_OFFLINE_PASSWORD,
|
| +};
|
| +
|
| +// Information about the custom icon in the user pod.
|
| +struct UserPodCustomIconOptions {
|
| + string id;
|
| + mojo.common.mojom.String16 tooltip;
|
| + bool autoshow_tooltip;
|
| + mojo.common.mojom.String16 aria_label;
|
| + bool hardlock_on_click;
|
| + bool is_trial_run;
|
| +};
|
|
|
| // Allows clients (e.g. Chrome browser) to control the ash lock screen.
|
| interface LockScreen {
|
| @@ -25,6 +48,32 @@ interface LockScreen {
|
|
|
| // Requests to close any displayed error messages in ash lock screen.
|
| ClearErrors();
|
| +
|
| + // Requests to show the custom icon in the user pod.
|
| + // |account_id|: The account id of the user in the user pod.
|
| + // |icon|: Information regarding the icon.
|
| + ShowUserPodCustomIcon(signin.mojom.AccountId account_id,
|
| + UserPodCustomIconOptions icon);
|
| +
|
| + // Requests to hide the custom icon in the user pod.
|
| + // |account_id|: The account id of the user in the user pod.
|
| + HideUserPodCustomIcon(signin.mojom.AccountId account_id);
|
| +
|
| + // Requests to set the authentication type.
|
| + // |account_id|: The account id of the user in the user pod.
|
| + // |auth_type|: Authentication type.
|
| + // |initial_value|: A message shown in the password field of the user pod.
|
| + SetAuthType(signin.mojom.AccountId account_id,
|
| + AuthType auth_type,
|
| + mojo.common.mojom.String16 initial_value);
|
| +
|
| + // Requests to load users in the lock screen.
|
| + // TODO: create a mojo struct for |users|, this contains user information
|
| + // for login/lock screen, some of which might not be needed for the new
|
| + // view-based UI. See crbug.com/729687.
|
| + // |users|: A list of users who can unlock the device.
|
| + // |show_guest|: Whether to show guest session button.
|
| + LoadUsers(mojo.common.mojom.ListValue users, bool show_guest);
|
| };
|
|
|
| // Allows ash lock screen to control a client (e.g. Chrome browser). Requests
|
| @@ -41,4 +90,16 @@ interface LockScreenClient {
|
| AuthenticateUser(signin.mojom.AccountId account_id,
|
| string hashed_password,
|
| bool authenticated_by_pin);
|
| +
|
| + // Request to attempt easy unlock in chrome.
|
| + // |account_id|: The account id of the user we are authenticating.
|
| + AttemptUnlock(signin.mojom.AccountId account_id);
|
| +
|
| + // Request to hard lock the user pod.
|
| + // |account_id|: The account id of the user in the user pod.
|
| + HardlockPod(signin.mojom.AccountId account_id);
|
| +
|
| + // Record clicks on the lock icon in the user pod.
|
| + // |account_id|: The account id of the user in the user pod.
|
| + RecordClickOnLockIcon(signin.mojom.AccountId account_id);
|
| };
|
|
|