| Index: chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
|
| diff --git a/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js b/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
|
| index 572b104764b0bbd589f875d6cd09df49d892fa31..595f4b46326b954d61275007926a49bf8cc8559d 100644
|
| --- a/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
|
| +++ b/chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js
|
| @@ -43,6 +43,27 @@ login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() {
|
| */
|
| learnMoreHelpTopicID_: null,
|
|
|
| + /**
|
| + * We block esc, back button and cancel button until gaia is loaded to
|
| + * prevent multiple cancel events.
|
| + */
|
| + isCancelDisabled_: null,
|
| +
|
| + get isCancelDisabled() { return this.isCancelDisabled_ },
|
| + set isCancelDisabled(disabled) {
|
| + if (disabled == this.isCancelDisabled)
|
| + return;
|
| + this.isCancelDisabled_ = disabled;
|
| +
|
| + $('oauth-enroll-back-button').disabled = disabled;
|
| + $('oauth-enroll-back-button').
|
| + classList.toggle('preserve-disabled-state', disabled);
|
| +
|
| + $('oauth-enroll-cancel-button').disabled = disabled;
|
| + $('oauth-enroll-cancel-button').
|
| + classList.toggle('preserve-disabled-state', disabled);
|
| + },
|
| +
|
| /** @override */
|
| decorate: function() {
|
| window.addEventListener('message',
|
| @@ -106,13 +127,9 @@ login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() {
|
| ['oauth-enroll-focus-on-error'],
|
| loadTimeData.getString('oauthEnrollBack'),
|
| function() {
|
| - $('oauth-enroll-back-button').disabled = true;
|
| -
|
| - $('oauth-enroll-back-button').
|
| - classList.add('preserve-disabled-state');
|
| -
|
| + this.isCancelDisabled = true;
|
| chrome.send('oauthEnrollClose', ['cancel']);
|
| - });
|
| + }.bind(this));
|
|
|
| makeButton(
|
| 'oauth-enroll-retry-button',
|
| @@ -147,6 +164,7 @@ login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() {
|
| data.enrollment_mode == modes[i]);
|
| }
|
| this.managementDomain_ = data.management_domain;
|
| + this.isCancelDisabled = true;
|
| this.doReload();
|
| this.learnMoreHelpTopicID_ = data.learn_more_help_topic_id;
|
| this.updateLocalizedContent();
|
| @@ -157,6 +175,9 @@ login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() {
|
| * Cancels enrollment and drops the user back to the login screen.
|
| */
|
| cancel: function() {
|
| + if (this.isCancelDisabled)
|
| + return;
|
| + this.isCancelDisabled = true;
|
| chrome.send('oauthEnrollClose', ['cancel']);
|
| },
|
|
|
| @@ -253,11 +274,7 @@ login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() {
|
| }
|
|
|
| if (msg.method == 'loginUILoaded' && this.currentStep_ == STEP_SIGNIN) {
|
| - $('oauth-enroll-back-button').disabled = false;
|
| -
|
| - $('oauth-enroll-back-button').
|
| - classList.remove('preserve-disabled-state');
|
| -
|
| + this.isCancelDisabled = false;
|
| chrome.send('frameLoadingCompleted', [0]);
|
| }
|
|
|
|
|