| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 module ash.mojom; | 5 module ash.mojom; |
| 6 | 6 |
| 7 import "ash/public/interfaces/login_user_info.mojom"; |
| 7 import "components/signin/public/interfaces/account_id.mojom"; | 8 import "components/signin/public/interfaces/account_id.mojom"; |
| 8 import "mojo/common/string16.mojom"; | 9 import "mojo/common/string16.mojom"; |
| 9 import "mojo/common/values.mojom"; | |
| 10 | |
| 11 // Supported authentication types. Keep in sync with enum in | |
| 12 // screenlock_bridge.h | |
| 13 enum AuthType { | |
| 14 OFFLINE_PASSWORD, | |
| 15 ONLINE_SIGN_IN, | |
| 16 NUMERIC_PIN, | |
| 17 USER_CLICK, | |
| 18 EXPAND_THEN_USER_CLICK, | |
| 19 FORCE_OFFLINE_PASSWORD, | |
| 20 }; | |
| 21 | |
| 22 // Information about the custom icon in the user pod. | |
| 23 struct UserPodCustomIconOptions { | |
| 24 string id; | |
| 25 mojo.common.mojom.String16 tooltip; | |
| 26 bool autoshow_tooltip; | |
| 27 mojo.common.mojom.String16 aria_label; | |
| 28 bool hardlock_on_click; | |
| 29 bool is_trial_run; | |
| 30 }; | |
| 31 | 10 |
| 32 // Allows clients (e.g. Chrome browser) to control the ash lock screen. | 11 // Allows clients (e.g. Chrome browser) to control the ash lock screen. |
| 33 interface LockScreen { | 12 interface LockScreen { |
| 34 // Sets the client interface. | 13 // Sets the client interface. |
| 35 SetClient(LockScreenClient client); | 14 SetClient(LockScreenClient client); |
| 36 | 15 |
| 37 // Displays the lock screen. |did_show| is true iff the lock UI was | 16 // Displays the lock screen. |did_show| is true iff the lock UI was |
| 38 // successfully displayed. | 17 // successfully displayed. |
| 39 ShowLockScreen() => (bool did_show); | 18 ShowLockScreen() => (bool did_show); |
| 40 | 19 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 65 | 44 |
| 66 // Requests to set the authentication type. | 45 // Requests to set the authentication type. |
| 67 // |account_id|: The account id of the user in the user pod. | 46 // |account_id|: The account id of the user in the user pod. |
| 68 // |auth_type|: Authentication type. | 47 // |auth_type|: Authentication type. |
| 69 // |initial_value|: A message shown in the password field of the user pod. | 48 // |initial_value|: A message shown in the password field of the user pod. |
| 70 SetAuthType(signin.mojom.AccountId account_id, | 49 SetAuthType(signin.mojom.AccountId account_id, |
| 71 AuthType auth_type, | 50 AuthType auth_type, |
| 72 mojo.common.mojom.String16 initial_value); | 51 mojo.common.mojom.String16 initial_value); |
| 73 | 52 |
| 74 // Requests to load users in the lock screen. | 53 // Requests to load users in the lock screen. |
| 75 // TODO: create a mojo struct for |users|, this contains user information | |
| 76 // for login/lock screen, some of which might not be needed for the new | |
| 77 // view-based UI. See crbug.com/729687. | |
| 78 // |users|: A list of users who can unlock the device. | 54 // |users|: A list of users who can unlock the device. |
| 79 // |show_guest|: Whether to show guest session button. | 55 // |show_guest|: Whether to show guest session button. |
| 80 LoadUsers(mojo.common.mojom.ListValue users, bool show_guest); | 56 LoadUsers(array<LoginUserInfo> users, bool show_guest); |
| 81 }; | 57 }; |
| 82 | 58 |
| 83 // Allows ash lock screen to control a client (e.g. Chrome browser). Requests | 59 // Allows ash lock screen to control a client (e.g. Chrome browser). Requests |
| 84 // often involve preferences or talk to cryptohome that is not available to ash. | 60 // often involve preferences or talk to cryptohome that is not available to ash. |
| 85 interface LockScreenClient { | 61 interface LockScreenClient { |
| 86 // Request user authentication in chrome. | 62 // Request user authentication in chrome. |
| 87 // If auth succeeds: | 63 // If auth succeeds: |
| 88 // chrome will hide the lock screen and clear any displayed error messages. | 64 // chrome will hide the lock screen and clear any displayed error messages. |
| 89 // If auth fails: | 65 // If auth fails: |
| 90 // chrome will request lock screen to show error messages. | 66 // chrome will request lock screen to show error messages. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 102 AttemptUnlock(signin.mojom.AccountId account_id); | 78 AttemptUnlock(signin.mojom.AccountId account_id); |
| 103 | 79 |
| 104 // Request to hard lock the user pod. | 80 // Request to hard lock the user pod. |
| 105 // |account_id|: The account id of the user in the user pod. | 81 // |account_id|: The account id of the user in the user pod. |
| 106 HardlockPod(signin.mojom.AccountId account_id); | 82 HardlockPod(signin.mojom.AccountId account_id); |
| 107 | 83 |
| 108 // Record clicks on the lock icon in the user pod. | 84 // Record clicks on the lock icon in the user pod. |
| 109 // |account_id|: The account id of the user in the user pod. | 85 // |account_id|: The account id of the user in the user pod. |
| 110 RecordClickOnLockIcon(signin.mojom.AccountId account_id); | 86 RecordClickOnLockIcon(signin.mojom.AccountId account_id); |
| 111 }; | 87 }; |
| OLD | NEW |