OLD | NEW |
(Empty) | |
| 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 |
| 3 * found in the LICENSE file. |
| 4 */ |
| 5 |
| 6 /** @typedef {{username:(string), profilePath:(string)}} */ |
| 7 var signedInUser; |
| 8 |
| 9 /** @typedef {{name:(string), filePath:(string), isSupervised:(boolean)}} */ |
| 10 var profileInfo; |
| 11 |
| 12 cr.define('signin', function() { |
| 13 /** |
| 14 * API that encapsulates messaging between JS and C++ for creating/importing |
| 15 * profiles in the user-manager page. |
| 16 * @constructor |
| 17 */ |
| 18 function ProfileApi() {} |
| 19 |
| 20 /** @private {?function(!Array<string>)} */ |
| 21 ProfileApi.getAvailableIconsCallback_ = null; |
| 22 |
| 23 /** @private {?function(!Array<signedInUser>)} */ |
| 24 ProfileApi.getSignedInUsersCallback_ = null; |
| 25 |
| 26 /** @private {?function(!string)} */ |
| 27 ProfileApi.profileCreateErrorCallback_ = null; |
| 28 |
| 29 /** @private {?function(!string)} */ |
| 30 ProfileApi.profileCreateWarningCallback_ = null; |
| 31 |
| 32 /** @private {?function(!profileInfo)} */ |
| 33 ProfileApi.profileCreateSuccessCallback_ = null; |
| 34 |
| 35 /** |
| 36 * Sets the profile create success callback. |
| 37 * @param {?function(!profileInfo)} callback |
| 38 */ |
| 39 ProfileApi.setProfileCreateSuccessCallback = function(callback) { |
| 40 ProfileApi.profileCreateSuccessCallback_ = callback; |
| 41 }; |
| 42 |
| 43 /** |
| 44 * Sets the profile create warning callback. |
| 45 * @param {?function(!string)} callback |
| 46 */ |
| 47 ProfileApi.setProfileCreateWarningCallback = function(callback) { |
| 48 ProfileApi.profileCreateWarningCallback_ = callback; |
| 49 }; |
| 50 |
| 51 /** |
| 52 * Sets the profile create error callback. |
| 53 * @param {?function(!string)} callback |
| 54 */ |
| 55 ProfileApi.setProfileCreateErrorCallback = function(callback) { |
| 56 ProfileApi.profileCreateErrorCallback_ = callback; |
| 57 }; |
| 58 |
| 59 /** |
| 60 * Called from JavaScript. Gets the available profile icons to choose from. |
| 61 * {!function(!Array<string>)} callback |
| 62 */ |
| 63 ProfileApi.getAvailableIcons = function(callback) { |
| 64 ProfileApi.getAvailableIconsCallback_ = callback; |
| 65 chrome.send('requestDefaultProfileIcons'); |
| 66 }; |
| 67 |
| 68 /** |
| 69 * Called from JavaScript. Gets the current signed-in users. |
| 70 * {!function(!Array<string>)} callback |
| 71 */ |
| 72 ProfileApi.getSignedInUsers = function(callback) { |
| 73 ProfileApi.getSignedInUsersCallback_ = callback; |
| 74 chrome.send('requestSignedInProfiles'); |
| 75 }; |
| 76 |
| 77 /** |
| 78 * Called from C++ as a response to getAvailableIcons. |
| 79 * @param {!Array<string>} iconUrls An array of icon URLs. |
| 80 * @private |
| 81 */ |
| 82 ProfileApi.updateAvailableIcons = function(iconUrls) { |
| 83 if (ProfileApi.getAvailableIconsCallback_) |
| 84 ProfileApi.getAvailableIconsCallback_(iconUrls); |
| 85 }; |
| 86 |
| 87 /** |
| 88 * Called from C++ in response to 'requestSignedInProfiles'. |
| 89 * @param {!Array<signedInUser>} signedInUsers An array of email addresses of |
| 90 * signed in users and the corresponding profile path. |
| 91 * @private |
| 92 */ |
| 93 ProfileApi.updateSignedInUsers = function(signedInUsers) { |
| 94 if (ProfileApi.getSignedInUsersCallback_) |
| 95 ProfileApi.getSignedInUsersCallback_(signedInUsers); |
| 96 }; |
| 97 |
| 98 /** |
| 99 * Called from C++ to report supervised profile create errors. |
| 100 * @param {!string} error The error raised while creating a profile. |
| 101 * @private |
| 102 */ |
| 103 ProfileApi.onCreateProfileError = function(error) { |
| 104 if (ProfileApi.profileCreateErrorCallback_) |
| 105 ProfileApi.profileCreateErrorCallback_(error); |
| 106 }; |
| 107 |
| 108 /** |
| 109 * Called from C++ to report supervised profile create warnings. |
| 110 * @param {!string} warning The warning issued while creating a profile. |
| 111 * @private |
| 112 */ |
| 113 ProfileApi.onCreateProfileWarning = function(warning) { |
| 114 if (ProfileApi.profileCreateWarningCallback_) |
| 115 ProfileApi.profileCreateWarningCallback_(warning); |
| 116 }; |
| 117 |
| 118 /** |
| 119 * Called from C++ to report successful creation of a profile. |
| 120 * @param {!profileInfo} profileInfo |
| 121 * @private |
| 122 */ |
| 123 ProfileApi.onCreateProfileSuccess = function(profileInfo) { |
| 124 if (ProfileApi.profileCreateSuccessCallback_) |
| 125 ProfileApi.profileCreateSuccessCallback_(profileInfo); |
| 126 }; |
| 127 |
| 128 return { |
| 129 ProfileApi: ProfileApi, |
| 130 }; |
| 131 }); |
OLD | NEW |