| 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 /** | 5 /** |
| 6 * @fileoverview A helper object used from the "Manage Profile" subpage of | 6 * @fileoverview A helper object used from the "Manage Profile" subpage of |
| 7 * the People section to interact with the browser. Chrome Browser only. | 7 * the People section to interact with the browser. Chrome Browser only. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 /** | 10 /** |
| 11 * Contains the possible profile shortcut statuses. These strings must be kept | 11 * Contains the possible profile shortcut statuses. These strings must be kept |
| 12 * in sync with the C++ Manage Profile handler. | 12 * in sync with the C++ Manage Profile handler. |
| 13 * @enum {string} | 13 * @enum {string} |
| 14 */ | 14 */ |
| 15 var ProfileShortcutStatus = { | 15 var ProfileShortcutStatus = { |
| 16 PROFILE_SHORTCUT_SETTING_HIDDEN: 'profileShortcutSettingHidden', | 16 PROFILE_SHORTCUT_SETTING_HIDDEN: 'profileShortcutSettingHidden', |
| 17 PROFILE_SHORTCUT_NOT_FOUND: 'profileShortcutNotFound', | 17 PROFILE_SHORTCUT_NOT_FOUND: 'profileShortcutNotFound', |
| 18 PROFILE_SHORTCUT_FOUND: 'profileShortcutFound', | 18 PROFILE_SHORTCUT_FOUND: 'profileShortcutFound', |
| 19 }; | 19 }; |
| 20 | 20 |
| 21 cr.define('settings', function() { | 21 cr.define('settings', function() { |
| 22 /** @interface */ | 22 /** @interface */ |
| 23 function ManageProfileBrowserProxy() {} | 23 class ManageProfileBrowserProxy { |
| 24 | |
| 25 ManageProfileBrowserProxy.prototype = { | |
| 26 /** | 24 /** |
| 27 * Gets the available profile icons to choose from. | 25 * Gets the available profile icons to choose from. |
| 28 * @return {!Promise<!Array<!AvatarIcon>>} | 26 * @return {!Promise<!Array<!AvatarIcon>>} |
| 29 */ | 27 */ |
| 30 getAvailableIcons: function() {}, | 28 getAvailableIcons() {} |
| 31 | 29 |
| 32 /** | 30 /** |
| 33 * Sets the profile's icon to the GAIA avatar. | 31 * Sets the profile's icon to the GAIA avatar. |
| 34 */ | 32 */ |
| 35 setProfileIconToGaiaAvatar: function() {}, | 33 setProfileIconToGaiaAvatar() {} |
| 36 | 34 |
| 37 /** | 35 /** |
| 38 * Sets the profile's icon to one of the default avatars. | 36 * Sets the profile's icon to one of the default avatars. |
| 39 * @param {string} iconUrl The new profile URL. | 37 * @param {string} iconUrl The new profile URL. |
| 40 */ | 38 */ |
| 41 setProfileIconToDefaultAvatar: function(iconUrl) {}, | 39 setProfileIconToDefaultAvatar(iconUrl) {} |
| 42 | 40 |
| 43 /** | 41 /** |
| 44 * Sets the profile's name. | 42 * Sets the profile's name. |
| 45 * @param {string} name The new profile name. | 43 * @param {string} name The new profile name. |
| 46 */ | 44 */ |
| 47 setProfileName: function(name) {}, | 45 setProfileName(name) {} |
| 48 | 46 |
| 49 /** | 47 /** |
| 50 * Returns whether the current profile has a shortcut. | 48 * Returns whether the current profile has a shortcut. |
| 51 * @return {!Promise<ProfileShortcutStatus>} | 49 * @return {!Promise<ProfileShortcutStatus>} |
| 52 */ | 50 */ |
| 53 getProfileShortcutStatus: function() {}, | 51 getProfileShortcutStatus() {} |
| 54 | 52 |
| 55 /** | 53 /** |
| 56 * Adds a shortcut for the current profile. | 54 * Adds a shortcut for the current profile. |
| 57 */ | 55 */ |
| 58 addProfileShortcut: function() {}, | 56 addProfileShortcut() {} |
| 59 | 57 |
| 60 /** | 58 /** |
| 61 * Removes the shortcut of the current profile. | 59 * Removes the shortcut of the current profile. |
| 62 */ | 60 */ |
| 63 removeProfileShortcut: function() {}, | 61 removeProfileShortcut() {} |
| 64 }; | 62 } |
| 65 | 63 |
| 66 /** | 64 /** |
| 67 * @constructor | |
| 68 * @implements {settings.ManageProfileBrowserProxy} | 65 * @implements {settings.ManageProfileBrowserProxy} |
| 69 */ | 66 */ |
| 70 function ManageProfileBrowserProxyImpl() {} | 67 class ManageProfileBrowserProxyImpl { |
| 68 /** @override */ |
| 69 getAvailableIcons() { |
| 70 return cr.sendWithPromise('getAvailableIcons'); |
| 71 } |
| 72 |
| 73 /** @override */ |
| 74 setProfileIconToGaiaAvatar() { |
| 75 chrome.send('setProfileIconToGaiaAvatar'); |
| 76 } |
| 77 |
| 78 /** @override */ |
| 79 setProfileIconToDefaultAvatar(iconUrl) { |
| 80 chrome.send('setProfileIconToDefaultAvatar', [iconUrl]); |
| 81 } |
| 82 |
| 83 /** @override */ |
| 84 setProfileName(name) { |
| 85 chrome.send('setProfileName', [name]); |
| 86 } |
| 87 |
| 88 /** @override */ |
| 89 getProfileShortcutStatus() { |
| 90 return cr.sendWithPromise('requestProfileShortcutStatus'); |
| 91 } |
| 92 |
| 93 /** @override */ |
| 94 addProfileShortcut() { |
| 95 chrome.send('addProfileShortcut'); |
| 96 } |
| 97 |
| 98 /** @override */ |
| 99 removeProfileShortcut() { |
| 100 chrome.send('removeProfileShortcut'); |
| 101 } |
| 102 } |
| 103 |
| 71 // The singleton instance_ is replaced with a test version of this wrapper | 104 // The singleton instance_ is replaced with a test version of this wrapper |
| 72 // during testing. | 105 // during testing. |
| 73 cr.addSingletonGetter(ManageProfileBrowserProxyImpl); | 106 cr.addSingletonGetter(ManageProfileBrowserProxyImpl); |
| 74 | 107 |
| 75 ManageProfileBrowserProxyImpl.prototype = { | |
| 76 /** @override */ | |
| 77 getAvailableIcons: function() { | |
| 78 return cr.sendWithPromise('getAvailableIcons'); | |
| 79 }, | |
| 80 | |
| 81 /** @override */ | |
| 82 setProfileIconToGaiaAvatar: function() { | |
| 83 chrome.send('setProfileIconToGaiaAvatar'); | |
| 84 }, | |
| 85 | |
| 86 /** @override */ | |
| 87 setProfileIconToDefaultAvatar: function(iconUrl) { | |
| 88 chrome.send('setProfileIconToDefaultAvatar', [iconUrl]); | |
| 89 }, | |
| 90 | |
| 91 /** @override */ | |
| 92 setProfileName: function(name) { | |
| 93 chrome.send('setProfileName', [name]); | |
| 94 }, | |
| 95 | |
| 96 /** @override */ | |
| 97 getProfileShortcutStatus: function() { | |
| 98 return cr.sendWithPromise('requestProfileShortcutStatus'); | |
| 99 }, | |
| 100 | |
| 101 /** @override */ | |
| 102 addProfileShortcut: function() { | |
| 103 chrome.send('addProfileShortcut'); | |
| 104 }, | |
| 105 | |
| 106 /** @override */ | |
| 107 removeProfileShortcut: function() { | |
| 108 chrome.send('removeProfileShortcut'); | |
| 109 }, | |
| 110 }; | |
| 111 | |
| 112 return { | 108 return { |
| 113 ManageProfileBrowserProxy: ManageProfileBrowserProxy, | 109 ManageProfileBrowserProxy: ManageProfileBrowserProxy, |
| 114 ManageProfileBrowserProxyImpl: ManageProfileBrowserProxyImpl, | 110 ManageProfileBrowserProxyImpl: ManageProfileBrowserProxyImpl, |
| 115 }; | 111 }; |
| 116 }); | 112 }); |
| OLD | NEW |