Chromium Code Reviews| Index: chrome/browser/resources/options/manage_profile_overlay.js |
| =================================================================== |
| --- chrome/browser/resources/options/manage_profile_overlay.js (revision 203598) |
| +++ chrome/browser/resources/options/manage_profile_overlay.js (working copy) |
| @@ -51,8 +51,8 @@ |
| // Override the create-profile-ok handler, to avoid closing the overlay |
| // until we finish creating the profile. |
| $('create-profile-ok').onclick = function(event) { |
| + CreateProfileOverlay.updateCreateInProgress(true); |
| ManageProfileOverlay.getInstance().hideErrorBubble_('create'); |
| - $('create-profile-ok').disabled = true; |
| self.submitCreateProfile_(); |
| }; |
| @@ -433,6 +433,7 @@ |
| $('create-profile-instructions').textContent = |
| loadTimeData.getStringF('createProfileInstructions'); |
| this.hideErrorBubble_(); |
| + this.updateCreateInProgress_(false); |
| var shortcutsEnabled = loadTimeData.getBoolean('profileShortcutsEnabled'); |
| $('create-shortcut-container').hidden = !shortcutsEnabled; |
| @@ -456,17 +457,39 @@ |
| }, |
| /** |
| + * Updates the UI when a profile create step begins or ends. |
| + * @param {boolean} inProgress Whether the step is newly in progress, or |
|
James Hawkins
2013/06/03 18:43:45
nit: Remove comma.
James Hawkins
2013/06/03 18:43:45
nit: This is confusing when reading. Is it true w
|
| + * has just completed. |
| + * @private |
| + */ |
| + updateCreateInProgress_: function(inProgress) { |
| + $('create-profile-ok').disabled = inProgress; |
| + $('create-profile-throbber').hidden = !inProgress; |
| + }, |
| + |
| + /** |
| * Shows an error message describing a local error (most likely a disk |
| * error) when creating a new profile. Called by BrowserOptions via the |
| * BrowserOptionsHandler. |
| * @private |
| */ |
| onLocalError_: function() { |
| - $('create-profile-ok').disabled = false; |
| + this.updateCreateInProgress_(false); |
| this.showErrorBubble_('createProfileLocalError'); |
| }, |
| /** |
| + * Shows an error message describing a remote error (most likely a network |
| + * error) when creating a new profile. Called by BrowserOptions via the |
| + * BrowserOptionsHandler. |
| + * @private |
| + */ |
| + onRemoteError_: function() { |
| + this.updateCreateInProgress_(false); |
| + this.showErrorBubble_('createProfileRemoteError'); |
| + }, |
| + |
| + /** |
| * For new limited users, shows a confirmation page after successfully |
| * creating a new profile; otherwise, the handler will open a new window. |
| * @param {Object} profileInfo An object of the form: |
| @@ -478,8 +501,8 @@ |
| * @private |
| */ |
| onSuccess_: function(profileInfo) { |
| + this.updateCreateInProgress_(false); |
| OptionsPage.closeOverlay(); |
| - $('create-profile-ok').disabled = false; |
| if (profileInfo.isManaged) { |
| ManagedUserCreateConfirmOverlay.setProfileInfo(profileInfo); |
| OptionsPage.navigateToPage('managedUserCreateConfirm'); |
| @@ -506,7 +529,9 @@ |
| // Forward public APIs to private implementations. |
| [ |
| 'onLocalError', |
| + 'onRemoteError', |
| 'onSuccess', |
| + 'updateCreateInProgress', |
| 'updateSignedInStatus', |
| ].forEach(function(name) { |
| CreateProfileOverlay[name] = function() { |