OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 // Use the <code>chrome.quickUnlockPrivate</code> API to change the active quick | 5 // Use the <code>chrome.quickUnlockPrivate</code> API to change the active quick |
6 // unlock modes and to change their respective credentials. | 6 // unlock modes and to change their respective credentials. |
7 // | 7 // |
8 // Quick unlock only supports unlocking an account that has already been signed | 8 // Quick unlock only supports unlocking an account that has already been signed |
9 // in. | 9 // in. |
10 // | 10 // |
11 // The quick unlock authentication facilities are not available through this | 11 // The quick unlock authentication facilities are not available through this |
12 // API; they are built directly into the lock screen. | 12 // API; they are built directly into the lock screen. |
13 | 13 |
14 [platforms=("chromeos"), | 14 [platforms=("chromeos"), |
15 implemented_in="chrome/browser/chromeos/extensions/quick_unlock_private/quick_u nlock_private_api.h"] | 15 implemented_in="chrome/browser/chromeos/extensions/quick_unlock_private/quick_u nlock_private_api.h"] |
16 namespace quickUnlockPrivate { | 16 namespace quickUnlockPrivate { |
17 // TODO(jdufault): Add more quick unlock modes, such as a pattern unlock. | 17 // TODO(jdufault): Add more quick unlock modes, such as a pattern unlock. |
18 enum QuickUnlockMode { | 18 enum QuickUnlockMode { |
19 PIN | 19 PIN |
20 }; | 20 }; |
21 | 21 |
22 enum CredentialProblem { | |
Devlin
2016/11/23 18:22:49
comment
sammiequon
2016/11/29 19:22:44
Done.
| |
23 TOO_SHORT, | |
24 TOO_LONG, | |
25 TOO_WEAK, | |
26 CONTAINS_NONDIGIT | |
27 }; | |
28 | |
29 dictionary CredentialCheck { | |
30 CredentialProblem[] errors; | |
Devlin
2016/11/23 18:22:49
Ideally, we should have comments over each of thes
sammiequon
2016/11/29 19:22:45
Done.
| |
31 CredentialProblem[] warnings; | |
32 long minLength; | |
33 // If |maxLength| is 0, there is no PIN max length. | |
Devlin
2016/11/23 18:22:49
Prefer something like:
// The maximum allowed leng
sammiequon
2016/11/29 19:22:44
Done.
| |
34 long maxLength; | |
35 }; | |
36 | |
22 callback BooleanResultCallback = void (boolean value); | 37 callback BooleanResultCallback = void (boolean value); |
23 callback ModesCallback = void (QuickUnlockMode[] modes); | 38 callback ModesCallback = void (QuickUnlockMode[] modes); |
39 callback CredentialCheckCallback = void (CredentialCheck check); | |
24 | 40 |
25 interface Functions { | 41 interface Functions { |
26 // Returns the set of quick unlock modes that are available for the user to | 42 // Returns the set of quick unlock modes that are available for the user to |
27 // use. Some quick unlock modes may be disabled by policy. | 43 // use. Some quick unlock modes may be disabled by policy. |
28 static void getAvailableModes(ModesCallback onComplete); | 44 static void getAvailableModes(ModesCallback onComplete); |
29 | 45 |
30 // Returns the quick unlock modes that are currently enabled and usable on | 46 // Returns the quick unlock modes that are currently enabled and usable on |
31 // the lock screen. | 47 // the lock screen. |
32 static void getActiveModes(ModesCallback onComplete); | 48 static void getActiveModes(ModesCallback onComplete); |
33 | 49 |
50 // Checks if the given credential can be used for the given unlock mode. | |
51 // Enterprise policy can change credential requirements. | |
Devlin
2016/11/23 18:22:49
Document each param that goes in (similar to setMo
sammiequon
2016/11/29 19:22:45
Done.
| |
52 static void checkCredential(QuickUnlockMode mode, | |
53 DOMString credential, | |
54 CredentialCheckCallback onComplete); | |
55 | |
34 // Update the set of quick unlock modes that are currently active/enabled. | 56 // Update the set of quick unlock modes that are currently active/enabled. |
35 // |accountPassword|: The password associated with the account (e.g. the | 57 // |accountPassword|: The password associated with the account (e.g. the |
36 // GAIA password). This is required to change the quick unlock credentials. | 58 // GAIA password). This is required to change the quick unlock credentials. |
37 // |modes|: The quick unlock modes that should be active. | 59 // |modes|: The quick unlock modes that should be active. |
38 // |credentials|: The associated credential for each mode. To keep | 60 // |credentials|: The associated credential for each mode. To keep |
39 // the credential the same for the associated mode, pass an empty string. | 61 // the credential the same for the associated mode, pass an empty string. |
40 // |onComplete|: Called with true if the quick unlock state was updated, | 62 // |onComplete|: Called with true if the quick unlock state was updated, |
41 // false otherwise. The update is treated as a single atomic operation. | 63 // false otherwise. The update is treated as a single atomic operation. |
42 static void setModes(DOMString accountPassword, | 64 static void setModes(DOMString accountPassword, |
43 QuickUnlockMode[] modes, DOMString[] credentials, | 65 QuickUnlockMode[] modes, DOMString[] credentials, |
44 BooleanResultCallback onComplete); | 66 BooleanResultCallback onComplete); |
45 }; | 67 }; |
46 | 68 |
47 interface Events { | 69 interface Events { |
48 // Called after the active set of quick unlock modes has changed. | 70 // Called after the active set of quick unlock modes has changed. |
49 // |activeModes|: The set of quick unlock modes which are now active. | 71 // |activeModes|: The set of quick unlock modes which are now active. |
50 static void onActiveModesChanged(QuickUnlockMode[] activeModes); | 72 static void onActiveModesChanged(QuickUnlockMode[] activeModes); |
51 }; | 73 }; |
52 }; | 74 }; |
OLD | NEW |