mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 08:16:09 +03:00
125 lines
5.2 KiB
Plaintext
125 lines
5.2 KiB
Plaintext
// Copyright 2017 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.
|
|
|
|
module ash.mojom;
|
|
|
|
import "ash/public/interfaces/login_user_info.mojom";
|
|
import "components/proximity_auth/public/interfaces/auth_type.mojom";
|
|
import "components/signin/public/interfaces/account_id.mojom";
|
|
import "mojo/common/string16.mojom";
|
|
|
|
// Allows clients (e.g. Chrome browser) to control the ash lock screen.
|
|
interface LockScreen {
|
|
// Sets the client interface.
|
|
SetClient(LockScreenClient client);
|
|
|
|
// Displays the lock screen. |did_show| is true iff the lock UI was
|
|
// successfully displayed.
|
|
ShowLockScreen() => (bool did_show);
|
|
|
|
// Requests to show error message in the ash lock screen.
|
|
// TODO(xiaoyinh): login_attempts is probabaly not needed from chrome,
|
|
// remove it when we start to count the login attempts in ash lock screen.
|
|
// |login_attempts|: The number of the login authentication attempts.
|
|
// |error_text|: The error text to be shown in lock screen.
|
|
// |help_link_text|: The help link to be shown in lock screen.
|
|
// |help_topic_id|: The id of the help app topic regarding this error.
|
|
ShowErrorMessage(int32 login_attempts,
|
|
string error_text,
|
|
string help_link_text,
|
|
int32 help_topic_id);
|
|
|
|
// 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,
|
|
proximity_auth.mojom.AuthType auth_type,
|
|
mojo.common.mojom.String16 initial_value);
|
|
|
|
// Requests to load users in the lock screen.
|
|
// |users|: A list of users who can unlock the device.
|
|
// |show_guest|: Whether to show guest session button.
|
|
LoadUsers(array<LoginUserInfo> users, bool show_guest);
|
|
|
|
// Notification if pin is enabled or disabled for the given user.
|
|
// |account_id|: The account id of the user in the user pod.
|
|
// |is_enabled|: True if pin unlock is enabled.
|
|
SetPinEnabledForUser(signin.mojom.AccountId account_id, bool is_enabled);
|
|
|
|
// Called when focus is reported to be leaving a lock screen app window.
|
|
// Requests focus to be handed off to the next suitable widget.
|
|
// |reverse|: Whether the tab order is reversed.
|
|
HandleFocusLeavingLockScreenApps(bool reverse);
|
|
};
|
|
|
|
// Allows ash lock screen to control a client (e.g. Chrome browser). Requests
|
|
// often involve preferences or talk to cryptohome that is not available to ash.
|
|
interface LockScreenClient {
|
|
// Request user authentication in chrome.
|
|
// If auth succeeds:
|
|
// chrome will hide the lock screen and clear any displayed error messages.
|
|
// If auth fails:
|
|
// chrome will request lock screen to show error messages.
|
|
// |account_id|: The account id of the user we are authenticating.
|
|
// |hashed_password|: The hashed password of the user.
|
|
// |authenticated_by_pin|: True if we are using pin to authenticate.
|
|
//
|
|
// The result will be set to true if auth was successful, false if not.
|
|
AuthenticateUser(signin.mojom.AccountId account_id,
|
|
string hashed_password,
|
|
bool authenticated_by_pin) => (bool auth_success);
|
|
|
|
// 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);
|
|
|
|
// Focus user pod of user with |account_id|.
|
|
OnFocusPod(signin.mojom.AccountId account_id);
|
|
|
|
// Notify that no user pod is focused.
|
|
OnNoPodFocused();
|
|
|
|
// Load wallpaper of user with |account_id|.
|
|
LoadWallpaper(signin.mojom.AccountId account_id);
|
|
|
|
// Sign out current user.
|
|
SignOutUser();
|
|
|
|
// Close add user screen.
|
|
CancelAddUser();
|
|
|
|
// User with |account_id| has reached maximum incorrect password attempts.
|
|
OnMaxIncorrectPasswordAttempted(signin.mojom.AccountId account_id);
|
|
|
|
// Should pass the focus to the active lock screen app window, if there is
|
|
// one. This is called when a lock screen app is reported to be active (using
|
|
// tray_action mojo interface), and is next in the tab order.
|
|
// |HandleFocusLeavingLockScreenApps| should be called to return focus to the
|
|
// lock screen.
|
|
// |reverse|: Whether the tab order is reversed.
|
|
FocusLockScreenApps(bool reverse);
|
|
};
|