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

Unified Diff: chrome/browser/resources/options/managed_user_list_data.js

Issue 132013002: Replace own callback handling with Promises. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options/managed_user_list_data.js
diff --git a/chrome/browser/resources/options/managed_user_list_data.js b/chrome/browser/resources/options/managed_user_list_data.js
index cae63d59a5d72864b28da5724563f944782b6510..d7cdc0c53f502968e0c3f9fdb94b67c4744048d6 100644
--- a/chrome/browser/resources/options/managed_user_list_data.js
+++ b/chrome/browser/resources/options/managed_user_list_data.js
@@ -12,6 +12,7 @@ cr.define('options', function() {
* @constructor
* @class
*/
+ // TODO(akuegel): Refactor this class by using dom promises.
function ManagedUserListData() {
this.callbacks_ = [];
this.errbacks_ = [];
@@ -41,33 +42,31 @@ cr.define('options', function() {
* name: "Managed User Name",
* iconURL: "chrome://path/to/icon/image",
* onCurrentDevice: true or false,
+ * nameConflict: true or false,
* needAvatar: true or false
* }
+ * @private
*/
- ManagedUserListData.receiveExistingManagedUsers = function(managedUsers) {
- var instance = ManagedUserListData.getInstance();
- var i;
- for (i = 0; i < instance.callbacks_.length; i++) {
- instance.callbacks_[i](managedUsers);
- }
- instance.managedUsers_ = managedUsers;
- instance.reset_();
+ ManagedUserListData.prototype.receiveExistingManagedUsers_ = function(
+ managedUsers) {
+ for (var i = 0; i < this.callbacks_.length; i++)
+ this.callbacks_[i](managedUsers);
+ this.managedUsers_ = managedUsers;
+ this.reset_();
};
/**
* Called when there is a signin error when retrieving the list of managed
* users. Calls the error callbacks which will display an appropriate error
* message to the user.
+ * @private
*/
- ManagedUserListData.onSigninError = function() {
- var instance = ManagedUserListData.getInstance();
- var i;
- for (i = 0; i < instance.errbacks_.length; i++) {
- instance.errbacks_[i]();
- }
+ ManagedUserListData.prototype.onSigninError_ = function() {
+ for (var i = 0; i < this.errbacks_.length; i++)
+ this.errbacks_[i]();
// Reset the list of managed users in order to avoid showing stale data.
- instance.managedUsers_ = null;
- instance.reset_();
+ this.managedUsers_ = null;
+ this.reset_();
};
/**
@@ -77,18 +76,18 @@ cr.define('options', function() {
* receiveExistingManagedUsers().
* @param {Object} callback The callback function which is called on success.
* @param {Object} errback the callback function which is called on error.
+ * @private
*/
- ManagedUserListData.requestExistingManagedUsers = function(callback,
- errback) {
- var instance = ManagedUserListData.getInstance();
- instance.callbacks_.push(callback);
- instance.errbacks_.push(errback);
- if (!instance.requestInProgress_) {
- if (instance.managedUsers_ != null) {
- ManagedUserListData.receiveExistingManagedUsers(instance.managedUsers_);
+ ManagedUserListData.prototype.requestExistingManagedUsers_ = function(
+ callback, errback) {
+ if (!this.requestInProgress_) {
Bernhard Bauer 2014/01/09 16:33:18 Early-return if a request is in progress?
Adrian Kuegel 2014/01/10 09:53:43 This is obsolete now. I already replaced my code w
+ if (this.managedUsers_ != null) {
+ callback(this.managedUsers_);
return;
}
- instance.requestInProgress_ = true;
+ this.callbacks_.push(callback);
+ this.errbacks_.push(errback);
+ this.requestInProgress_ = true;
chrome.send('requestManagedUserImportUpdate');
}
};
@@ -97,17 +96,30 @@ cr.define('options', function() {
* Reload the list of existing managed users. Should be called when a new
* supervised user profile was created or a supervised user profile was
* deleted.
+ * @private
*/
- ManagedUserListData.reloadExistingManagedUsers = function() {
- var instance = ManagedUserListData.getInstance();
- if (instance.requestInProgress_)
+ ManagedUserListData.prototype.reloadExistingManagedUsers_ = function() {
+ if (this.requestInProgress_)
return;
- instance.managedUsers_ = null;
- instance.requestInProgress_ = true;
+ this.managedUsers_ = null;
+ this.requestInProgress_ = true;
chrome.send('requestManagedUserImportUpdate');
};
+ // Forward public APIs to private implementations.
+ [
+ 'onSigninError',
+ 'receiveExistingManagedUsers',
+ 'reloadExistingManagedUsers',
+ 'requestExistingManagedUsers',
+ ].forEach(function(name) {
+ ManagedUserListData[name] = function() {
+ var instance = ManagedUserListData.getInstance();
+ return instance[name + '_'].apply(instance, arguments);
+ };
+ });
+
// Export
return {
ManagedUserListData: ManagedUserListData,

Powered by Google App Engine
This is Rietveld 408576698