OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 Oobe signin screen implementation. | 6 * @fileoverview Oobe signin screen implementation. |
7 */ | 7 */ |
8 | 8 |
9 login.createScreen('GaiaSigninScreen', 'gaia-signin', function() { | 9 login.createScreen('GaiaSigninScreen', 'gaia-signin', function() { |
10 // Gaia loading time after which error message must be displayed and | 10 // Gaia loading time after which error message must be displayed and |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 this.gaiaAuthHost_ = new cr.login.GaiaAuthHost(webview); | 112 this.gaiaAuthHost_ = new cr.login.GaiaAuthHost(webview); |
113 } else { | 113 } else { |
114 this.gaiaAuthHost_ = new cr.login.GaiaAuthHost($('signin-frame')); | 114 this.gaiaAuthHost_ = new cr.login.GaiaAuthHost($('signin-frame')); |
115 } | 115 } |
116 this.gaiaAuthHost_.addEventListener( | 116 this.gaiaAuthHost_.addEventListener( |
117 'ready', this.onAuthReady_.bind(this)); | 117 'ready', this.onAuthReady_.bind(this)); |
118 this.gaiaAuthHost_.addEventListener( | 118 this.gaiaAuthHost_.addEventListener( |
119 'dialogShown', this.onDialogShown_.bind(this)); | 119 'dialogShown', this.onDialogShown_.bind(this)); |
120 this.gaiaAuthHost_.addEventListener( | 120 this.gaiaAuthHost_.addEventListener( |
121 'dialogHidden', this.onDialogHidden_.bind(this)); | 121 'dialogHidden', this.onDialogHidden_.bind(this)); |
| 122 this.gaiaAuthHost_.addEventListener( |
| 123 'backButton', this.onBackButton_.bind(this)); |
122 this.gaiaAuthHost_.confirmPasswordCallback = | 124 this.gaiaAuthHost_.confirmPasswordCallback = |
123 this.onAuthConfirmPassword_.bind(this); | 125 this.onAuthConfirmPassword_.bind(this); |
124 this.gaiaAuthHost_.noPasswordCallback = | 126 this.gaiaAuthHost_.noPasswordCallback = |
125 this.onAuthNoPassword_.bind(this); | 127 this.onAuthNoPassword_.bind(this); |
126 this.gaiaAuthHost_.insecureContentBlockedCallback = | 128 this.gaiaAuthHost_.insecureContentBlockedCallback = |
127 this.onInsecureContentBlocked_.bind(this); | 129 this.onInsecureContentBlocked_.bind(this); |
128 this.gaiaAuthHost_.missingGaiaInfoCallback = | 130 this.gaiaAuthHost_.missingGaiaInfoCallback = |
129 this.missingGaiaInfo_.bind(this); | 131 this.missingGaiaInfo_.bind(this); |
130 this.gaiaAuthHost_.samlApiUsedCallback = | 132 this.gaiaAuthHost_.samlApiUsedCallback = |
131 this.samlApiUsed_.bind(this); | 133 this.samlApiUsed_.bind(this); |
132 this.gaiaAuthHost_.addEventListener('authFlowChange', | 134 this.gaiaAuthHost_.addEventListener('authFlowChange', |
133 this.onAuthFlowChange_.bind(this)); | 135 this.onAuthFlowChange_.bind(this)); |
134 this.gaiaAuthHost_.addEventListener('authCompleted', | 136 this.gaiaAuthHost_.addEventListener('authCompleted', |
135 this.onAuthCompletedMessage_.bind(this)); | 137 this.onAuthCompletedMessage_.bind(this)); |
136 | 138 |
137 $('enterprise-info-hint-link').addEventListener('click', function(e) { | 139 $('enterprise-info-hint-link').addEventListener('click', function(e) { |
138 chrome.send('launchHelpApp', [HELP_TOPIC_ENTERPRISE_REPORTING]); | 140 chrome.send('launchHelpApp', [HELP_TOPIC_ENTERPRISE_REPORTING]); |
139 e.preventDefault(); | 141 e.preventDefault(); |
140 }); | 142 }); |
141 | 143 |
| 144 $('back-button-item').addEventListener('click', function(e) { |
| 145 $('back-button-item').hidden = true; |
| 146 $('signin-frame').back(); |
| 147 e.preventDefault(); |
| 148 }.bind(this)); |
142 $('close-button-item').addEventListener('click', function(e) { | 149 $('close-button-item').addEventListener('click', function(e) { |
143 this.cancel(); | 150 this.cancel(); |
144 e.preventDefault(); | 151 e.preventDefault(); |
145 }.bind(this)); | 152 }.bind(this)); |
146 | 153 |
147 this.updateLocalizedContent(); | 154 this.updateLocalizedContent(); |
148 }, | 155 }, |
149 | 156 |
150 /** | 157 /** |
151 * Header text of the screen. | 158 * Header text of the screen. |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 chrome.send('loginUIStateChanged', ['gaia-signin', true]); | 261 chrome.send('loginUIStateChanged', ['gaia-signin', true]); |
255 $('login-header-bar').signinUIState = | 262 $('login-header-bar').signinUIState = |
256 this.isEnrollingConsumerManagement_ ? | 263 this.isEnrollingConsumerManagement_ ? |
257 SIGNIN_UI_STATE.CONSUMER_MANAGEMENT_ENROLLMENT : | 264 SIGNIN_UI_STATE.CONSUMER_MANAGEMENT_ENROLLMENT : |
258 SIGNIN_UI_STATE.GAIA_SIGNIN; | 265 SIGNIN_UI_STATE.GAIA_SIGNIN; |
259 | 266 |
260 // Ensure that GAIA signin (or loading UI) is actually visible. | 267 // Ensure that GAIA signin (or loading UI) is actually visible. |
261 window.requestAnimationFrame(function() { | 268 window.requestAnimationFrame(function() { |
262 chrome.send('loginVisible', ['gaia-loading']); | 269 chrome.send('loginVisible', ['gaia-loading']); |
263 }); | 270 }); |
| 271 $('back-button-item').disabled = false; |
| 272 $('back-button-item').hidden = true; |
264 $('close-button-item').disabled = false; | 273 $('close-button-item').disabled = false; |
265 this.classList.toggle('loading', this.loading); | 274 this.classList.toggle('loading', this.loading); |
266 | 275 |
267 // Button header is always visible when sign in is presented. | 276 // Button header is always visible when sign in is presented. |
268 // Header is hidden once GAIA reports on successful sign in. | 277 // Header is hidden once GAIA reports on successful sign in. |
269 Oobe.getInstance().headerHidden = false; | 278 Oobe.getInstance().headerHidden = false; |
270 }, | 279 }, |
271 | 280 |
272 onAfterShow: function(data) { | 281 onAfterShow: function(data) { |
273 if (!this.loading && this.isWebviewSignin) | 282 if (!this.loading && this.isWebviewSignin) |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 | 467 |
459 // Warm up the user images screen. | 468 // Warm up the user images screen. |
460 Oobe.getInstance().preloadScreen({id: SCREEN_USER_IMAGE_PICKER}); | 469 Oobe.getInstance().preloadScreen({id: SCREEN_USER_IMAGE_PICKER}); |
461 }, | 470 }, |
462 | 471 |
463 /** | 472 /** |
464 * Invoked when the auth host emits 'dialogShown' event. | 473 * Invoked when the auth host emits 'dialogShown' event. |
465 * @private | 474 * @private |
466 */ | 475 */ |
467 onDialogShown_: function() { | 476 onDialogShown_: function() { |
| 477 $('back-button-item').disabled = true; |
468 $('close-button-item').disabled = true; | 478 $('close-button-item').disabled = true; |
469 }, | 479 }, |
470 | 480 |
471 /** | 481 /** |
472 * Invoked when the auth host emits 'dialogHidden' event. | 482 * Invoked when the auth host emits 'dialogHidden' event. |
473 * @private | 483 * @private |
474 */ | 484 */ |
475 onDialogHidden_: function() { | 485 onDialogHidden_: function() { |
| 486 $('back-button-item').disabled = false; |
476 $('close-button-item').disabled = false; | 487 $('close-button-item').disabled = false; |
477 }, | 488 }, |
478 | 489 |
479 /** | 490 /** |
| 491 * Invoked when the auth host emits 'backButton' event. |
| 492 * @private |
| 493 */ |
| 494 onBackButton_: function(e) { |
| 495 $('back-button-item').hidden = !e.detail; |
| 496 }, |
| 497 |
| 498 /** |
480 * Invoked when the user has successfully authenticated via SAML, the | 499 * Invoked when the user has successfully authenticated via SAML, the |
481 * principals API was not used and the auth host needs the user to confirm | 500 * principals API was not used and the auth host needs the user to confirm |
482 * the scraped password. | 501 * the scraped password. |
483 * @param {number} passwordCount The number of passwords that were scraped. | 502 * @param {number} passwordCount The number of passwords that were scraped. |
484 * @private | 503 * @private |
485 */ | 504 */ |
486 onAuthConfirmPassword_: function(passwordCount) { | 505 onAuthConfirmPassword_: function(passwordCount) { |
487 this.loading = true; | 506 this.loading = true; |
488 Oobe.getInstance().headerHidden = false; | 507 Oobe.getInstance().headerHidden = false; |
489 | 508 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 * For more info see C++ class 'WebUILoginView' which calls this method. | 743 * For more info see C++ class 'WebUILoginView' which calls this method. |
725 * @param {number} error Error code. | 744 * @param {number} error Error code. |
726 * @param {string} url The URL that failed to load. | 745 * @param {string} url The URL that failed to load. |
727 */ | 746 */ |
728 onFrameError: function(error, url) { | 747 onFrameError: function(error, url) { |
729 this.error_ = error; | 748 this.error_ = error; |
730 chrome.send('frameLoadingCompleted', [this.error_]); | 749 chrome.send('frameLoadingCompleted', [this.error_]); |
731 }, | 750 }, |
732 }; | 751 }; |
733 }); | 752 }); |
OLD | NEW |