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

Side by Side Diff: chrome/common/extensions/api/easy_unlock_private.idl

Issue 475483003: Wire easy unlock settings UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/chrome_browser_ui.gypi ('k') | extensions/browser/extension_function_histogram_value.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // <code>chrome.easyUnlockPrivate</code> API that provides hooks to Chrome to 5 // <code>chrome.easyUnlockPrivate</code> API that provides hooks to Chrome to
6 // be used by Easy Unlock component app. 6 // be used by Easy Unlock component app.
7 [nodoc] namespace easyUnlockPrivate { 7 [nodoc] namespace easyUnlockPrivate {
8 // Signature algorithms supported by the crypto library methods used by 8 // Signature algorithms supported by the crypto library methods used by
9 // Easy Unlock. 9 // Easy Unlock.
10 enum SignatureType { 10 enum SignatureType {
(...skipping 26 matching lines...) Expand all
37 // A phone eligible to unlock the device is detected, but it is not allowed 37 // A phone eligible to unlock the device is detected, but it is not allowed
38 // to unlock the device because it doesn't have lock screen enabled. 38 // to unlock the device because it doesn't have lock screen enabled.
39 PHONE_UNLOCKABLE, 39 PHONE_UNLOCKABLE,
40 // A phone eligible to unlock the device is detected, but it's not close 40 // A phone eligible to unlock the device is detected, but it's not close
41 // enough to be allowed to unlock the device. 41 // enough to be allowed to unlock the device.
42 PHONE_NOT_NEARBY, 42 PHONE_NOT_NEARBY,
43 // The devie can be unlocked using Easy Unlock. 43 // The devie can be unlocked using Easy Unlock.
44 AUTHENTICATED 44 AUTHENTICATED
45 }; 45 };
46 46
47 // Type of a permit. All lower case to match permit.PermitRecord.Type.
48 enum PermitType {access, license};
49
47 // Options that can be passed to |unwrapSecureMessage| method. 50 // Options that can be passed to |unwrapSecureMessage| method.
48 dictionary UnwrapSecureMessageOptions { 51 dictionary UnwrapSecureMessageOptions {
49 // The data associated with the message. For the message to be succesfully 52 // The data associated with the message. For the message to be succesfully
50 // verified, the message should have been created with the same associated 53 // verified, the message should have been created with the same associated
51 // data. 54 // data.
52 ArrayBuffer? associatedData; 55 ArrayBuffer? associatedData;
53 56
54 // The encryption algorithm that should be used to decrypt the message. 57 // The encryption algorithm that should be used to decrypt the message.
55 // Should not be set for a cleartext message. 58 // Should not be set for a cleartext message.
56 EncryptionType? encryptType; 59 EncryptionType? encryptType;
(...skipping 22 matching lines...) Expand all
79 // The encryption algorithm that should be used to encrypt the message. 82 // The encryption algorithm that should be used to encrypt the message.
80 // Should not be set for a cleartext message. 83 // Should not be set for a cleartext message.
81 EncryptionType? encryptType; 84 EncryptionType? encryptType;
82 85
83 // The algorithm to be used to sign the message. 86 // The algorithm to be used to sign the message.
84 // Defaults to |HMAC_SHA256|. |ECDSA_P256_SHA256| can currently be used 87 // Defaults to |HMAC_SHA256|. |ECDSA_P256_SHA256| can currently be used
85 // only with cleartext messages. 88 // only with cleartext messages.
86 SignatureType? signType; 89 SignatureType? signType;
87 }; 90 };
88 91
92 // A permit record contains the credentials used to request or grant
93 // authorization of a permit.
94 dictionary PermitRecord {
95 // ID of the permit, which identifies the service/application that these
96 // permit records are used in.
97 DOMString permitId;
98
99 // An identifier for this record that should be unique among all other
100 // records of the same permit.
101 DOMString id;
102
103 // Type of the record.
104 PermitType type;
105
106 // Websafe base64 encoded payload data of the record.
107 DOMString data;
108 };
109
110 // Device information that can be authenticated for Easy unlock.
111 dictionary Device {
112 // The Bluetooth address of the device.
113 DOMString bluetoothAddress;
114
115 // The name of the device.
116 DOMString? name;
117
118 // The permit record of the device.
119 PermitRecord? permitRecord;
120
121 // Websafe base64 encoded persistent symmetric key.
122 DOMString? psk;
123 };
124
89 // Callback for crypto methods that return a single array buffer. 125 // Callback for crypto methods that return a single array buffer.
90 callback DataCallback = void(optional ArrayBuffer data); 126 callback DataCallback = void(optional ArrayBuffer data);
91 127
92 // An empty callback used purely for signalling success vs. failure. 128 // An empty callback used purely for signalling success vs. failure.
93 callback EmptyCallback = void(); 129 callback EmptyCallback = void();
94 130
95 // Callback for the getStrings() method. 131 // Callback for the getStrings() method.
96 callback GetStringsCallback = void(object strings); 132 callback GetStringsCallback = void(object strings);
97 133
98 // Callback for method that generates an encryption key pair. 134 // Callback for method that generates an encryption key pair.
99 callback KeyPairCallback = void(optional ArrayBuffer public_key, 135 callback KeyPairCallback = void(optional ArrayBuffer public_key,
100 optional ArrayBuffer private_key); 136 optional ArrayBuffer private_key);
101 137
138 // Callback for the getPermitAccess() method.
139 callback GetPermitAccessCallback = void(optional PermitRecord permitAccess);
140
141 // Callback for the getRemoteDevices() method.
142 callback GetRemoteDevicesCallback = void(Device[] devices);
143
102 interface Functions { 144 interface Functions {
103 // Gets localized strings required to render the API. 145 // Gets localized strings required to render the API.
104 // 146 //
105 // |callback| : Called with a dictionary mapping names to resource strings. 147 // |callback| : Called with a dictionary mapping names to resource strings.
106 // TODO(isherman): This is essentially copied from identity_private.idl. 148 // TODO(isherman): This is essentially copied from identity_private.idl.
107 // Perhaps this should be extracted to a common API instead? 149 // Perhaps this should be extracted to a common API instead?
108 static void getStrings(GetStringsCallback callback); 150 static void getStrings(GetStringsCallback callback);
109 151
110 // Generates a ECDSA key pair for P256 curve. 152 // Generates a ECDSA key pair for P256 curve.
111 // Public key will be in format recognized by secure wire transport protocol 153 // Public key will be in format recognized by secure wire transport protocol
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 // registering the device with the Bluetooth daemon, making it available for 210 // registering the device with the Bluetooth daemon, making it available for
169 // future outgoing connections. 211 // future outgoing connections.
170 // |deviceAddress|: The Bluetooth address of the device to connect to. 212 // |deviceAddress|: The Bluetooth address of the device to connect to.
171 // |callback|: Called to indicate success or failure. 213 // |callback|: Called to indicate success or failure.
172 static void seekBluetoothDeviceByAddress(DOMString deviceAddress, 214 static void seekBluetoothDeviceByAddress(DOMString deviceAddress,
173 optional EmptyCallback callback); 215 optional EmptyCallback callback);
174 216
175 // Updates the screenlock state to reflect the Easy Unlock app state. 217 // Updates the screenlock state to reflect the Easy Unlock app state.
176 static void updateScreenlockState(State state, 218 static void updateScreenlockState(State state,
177 optional EmptyCallback callback); 219 optional EmptyCallback callback);
220
221 // Saves the permit record for the local device.
222 // |permitAccess|: The permit record to be saved.
223 // |callback|: Called to indicate success or failure.
224 static void setPermitAccess(PermitRecord permitAccess,
225 optional EmptyCallback callback);
226
227 // Gets the permit record for the local device.
228 static void getPermitAccess(GetPermitAccessCallback callback);
229
230 // Clears the permit record for the local device.
231 static void clearPermitAccess(optional EmptyCallback callback);
232
233 // Saves the remote device list.
234 // |devices|: The list of remote devices to be saved.
235 // |callback|: Called to indicate success or failure.
236 static void setRemoteDevices(Device[] devices,
237 optional EmptyCallback callback);
238
239 // Gets the remote device list.
240 static void getRemoteDevices(GetRemoteDevicesCallback callback);
178 }; 241 };
179 }; 242 };
OLDNEW
« no previous file with comments | « chrome/chrome_browser_ui.gypi ('k') | extensions/browser/extension_function_histogram_value.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698