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

Side by Side Diff: chrome/browser/resources/chromeos/login/oobe_screen_oauth_enrollment.js

Issue 902493003: cros: Pass gaia_auth init params via postMessage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nits Created 5 years, 10 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 unified diff | Download patch
OLDNEW
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 login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() { 5 login.createScreen('OAuthEnrollmentScreen', 'oauth-enrollment', function() {
6 /** @const */ var STEP_SIGNIN = 'signin'; 6 /** @const */ var STEP_SIGNIN = 'signin';
7 /** @const */ var STEP_WORKING = 'working'; 7 /** @const */ var STEP_WORKING = 'working';
8 /** @const */ var STEP_ERROR = 'error'; 8 /** @const */ var STEP_ERROR = 'error';
9 /** @const */ var STEP_SUCCESS = 'success'; 9 /** @const */ var STEP_SUCCESS = 'success';
10 10
11 /** @const */ var HELP_TOPIC_ENROLLMENT = 4631259; 11 /** @const */ var HELP_TOPIC_ENROLLMENT = 4631259;
12 12
13 return { 13 return {
14 EXTERNAL_API: [ 14 EXTERNAL_API: [
15 'showStep', 15 'showStep',
16 'showError', 16 'showError',
17 'doReload', 17 'doReload',
18 ], 18 ],
19 19
20 /** 20 /**
21 * URL to load in the sign in frame. 21 * URL to load in the sign in frame.
22 */ 22 */
23 signInUrl_: null, 23 signInUrl_: null,
24 24
25 /** 25 /**
26 * Gaia auth params for sign in frame.
27 */
28 signInParams_: {},
29
30 /**
26 * The current step. This is the last value passed to showStep(). 31 * The current step. This is the last value passed to showStep().
27 */ 32 */
28 currentStep_: null, 33 currentStep_: null,
29 34
30 /** 35 /**
31 * Opaque token used to correlate request and response while retrieving the 36 * Opaque token used to correlate request and response while retrieving the
32 * authenticated user's e-mail address from GAIA. 37 * authenticated user's e-mail address from GAIA.
33 */ 38 */
34 attemptToken_: null, 39 attemptToken_: null,
35 40
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 130
126 return buttons; 131 return buttons;
127 }, 132 },
128 133
129 /** 134 /**
130 * Event handler that is invoked just before the frame is shown. 135 * Event handler that is invoked just before the frame is shown.
131 * @param {Object} data Screen init payload, contains the signin frame 136 * @param {Object} data Screen init payload, contains the signin frame
132 * URL. 137 * URL.
133 */ 138 */
134 onBeforeShow: function(data) { 139 onBeforeShow: function(data) {
135 var url = data.signin_url; 140 this.signInParams_ = {};
136 url += '?gaiaUrl=' + encodeURIComponent(data.gaiaUrl); 141 this.signInParams_['gaiaUrl'] = data.gaiaUrl;
137 url += '&needPassword=0'; 142 this.signInParams_['needPassword'] = false;
138 this.signInUrl_ = url; 143 this.signInUrl_ = data.signin_url;
139 var modes = ['manual', 'forced', 'recovery']; 144 var modes = ['manual', 'forced', 'recovery'];
140 for (var i = 0; i < modes.length; ++i) { 145 for (var i = 0; i < modes.length; ++i) {
141 this.classList.toggle('mode-' + modes[i], 146 this.classList.toggle('mode-' + modes[i],
142 data.enrollment_mode == modes[i]); 147 data.enrollment_mode == modes[i]);
143 } 148 }
144 this.managementDomain_ = data.management_domain; 149 this.managementDomain_ = data.management_domain;
145 $('oauth-enroll-signin-frame').contentWindow.location.href = 150 this.doReload();
146 this.signInUrl_;
147 this.learnMoreHelpTopicID_ = data.learn_more_help_topic_id; 151 this.learnMoreHelpTopicID_ = data.learn_more_help_topic_id;
148 this.updateLocalizedContent(); 152 this.updateLocalizedContent();
149 this.showStep(STEP_SIGNIN); 153 this.showStep(STEP_SIGNIN);
150 }, 154 },
151 155
152 /** 156 /**
153 * Cancels enrollment and drops the user back to the login screen. 157 * Cancels enrollment and drops the user back to the login screen.
154 */ 158 */
155 cancel: function() { 159 cancel: function() {
156 chrome.send('oauthEnrollClose', ['cancel']); 160 chrome.send('oauthEnrollClose', ['cancel']);
(...skipping 23 matching lines...) Expand all
180 * @param {string} message the error message. 184 * @param {string} message the error message.
181 * @param {boolean} retry whether the retry link should be shown. 185 * @param {boolean} retry whether the retry link should be shown.
182 */ 186 */
183 showError: function(message, retry) { 187 showError: function(message, retry) {
184 $('oauth-enroll-error-message').textContent = message; 188 $('oauth-enroll-error-message').textContent = message;
185 $('oauth-enroll-error-retry').hidden = !retry; 189 $('oauth-enroll-error-retry').hidden = !retry;
186 this.showStep(STEP_ERROR); 190 this.showStep(STEP_ERROR);
187 }, 191 },
188 192
189 doReload: function() { 193 doReload: function() {
190 $('oauth-enroll-signin-frame').contentWindow.location.href = 194 var signInFrame = $('oauth-enroll-signin-frame');
191 this.signInUrl_; 195
196 var sendParamsOnLoad = function() {
197 signInFrame.removeEventListener('load', sendParamsOnLoad);
198 signInFrame.contentWindow.postMessage(this.signInParams_,
199 'chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik');
200 }.bind(this);
201
202 signInFrame.addEventListener('load', sendParamsOnLoad);
203 signInFrame.contentWindow.location.href = this.signInUrl_;
192 }, 204 },
193 205
194 /** 206 /**
195 * Retries the enrollment process after an error occurred in a previous 207 * Retries the enrollment process after an error occurred in a previous
196 * attempt. This goes to the C++ side through |chrome| first to clean up the 208 * attempt. This goes to the C++ side through |chrome| first to clean up the
197 * profile, so that the next attempt is performed with a clean state. 209 * profile, so that the next attempt is performed with a clean state.
198 */ 210 */
199 doRetry_: function() { 211 doRetry_: function() {
200 chrome.send('oauthEnrollRetry'); 212 chrome.send('oauthEnrollRetry');
201 }, 213 },
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 * Opens the learn more help topic. 278 * Opens the learn more help topic.
267 */ 279 */
268 launchLearnMoreHelp_: function() { 280 launchLearnMoreHelp_: function() {
269 if (this.learnMoreHelpTopicID_) { 281 if (this.learnMoreHelpTopicID_) {
270 chrome.send('launchHelpApp', [this.learnMoreHelpTopicID_]); 282 chrome.send('launchHelpApp', [this.learnMoreHelpTopicID_]);
271 } 283 }
272 } 284 }
273 }; 285 };
274 }); 286 });
275 287
OLDNEW
« no previous file with comments | « chrome/browser/extensions/signin/gaia_auth_extension_loader_browsertest.cc ('k') | chrome/browser/resources/gaia_auth/main.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698