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

Side by Side Diff: chrome/browser/resources/gaia_auth_host/authenticator.js

Issue 1365813003: Make sure links in the profile unlock reauth don't break out of popup. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments Created 5 years, 2 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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/signin/inline_login_handler_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <include src="saml_handler.js"> 5 <include src="saml_handler.js">
6 6
7 /** 7 /**
8 * @fileoverview An UI component to authenciate to Chrome. The component hosts 8 * @fileoverview An UI component to authenciate to Chrome. The component hosts
9 * IdP web pages in a webview. A client who is interested in monitoring 9 * IdP web pages in a webview. A client who is interested in monitoring
10 * authentication events should pass a listener object of type 10 * authentication events should pass a listener object of type
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 this.continueUrlWithoutParams_ = 201 this.continueUrlWithoutParams_ =
202 this.continueUrl_.substring(0, this.continueUrl_.indexOf('?')) || 202 this.continueUrl_.substring(0, this.continueUrl_.indexOf('?')) ||
203 this.continueUrl_; 203 this.continueUrl_;
204 this.isConstrainedWindow_ = data.constrained == '1'; 204 this.isConstrainedWindow_ = data.constrained == '1';
205 this.isNewGaiaFlowChromeOS = data.isNewGaiaFlowChromeOS; 205 this.isNewGaiaFlowChromeOS = data.isNewGaiaFlowChromeOS;
206 this.useEafe_ = data.useEafe || false; 206 this.useEafe_ = data.useEafe || false;
207 this.clientId_ = data.clientId; 207 this.clientId_ = data.clientId;
208 this.gapsCookie_ = data.gapsCookie; 208 this.gapsCookie_ = data.gapsCookie;
209 this.gapsCookieSent_ = false; 209 this.gapsCookieSent_ = false;
210 this.newGapsCookie_ = null; 210 this.newGapsCookie_ = null;
211 this.dontResizeNonEmbeddedPages = data.dontResizeNonEmbeddedPages;
211 212
212 this.initialFrameUrl_ = this.constructInitialFrameUrl_(data); 213 this.initialFrameUrl_ = this.constructInitialFrameUrl_(data);
213 this.reloadUrl_ = data.frameUrl || this.initialFrameUrl_; 214 this.reloadUrl_ = data.frameUrl || this.initialFrameUrl_;
214 // Don't block insecure content for desktop flow because it lands on 215 // Don't block insecure content for desktop flow because it lands on
215 // http. Otherwise, block insecure content as long as gaia is https. 216 // http. Otherwise, block insecure content as long as gaia is https.
216 this.samlHandler_.blockInsecureContent = authMode != AuthMode.DESKTOP && 217 this.samlHandler_.blockInsecureContent = authMode != AuthMode.DESKTOP &&
217 this.idpOrigin_.indexOf('https://') == 0; 218 this.idpOrigin_.indexOf('https://') == 0;
218 this.needPassword = !('needPassword' in data) || data.needPassword; 219 this.needPassword = !('needPassword' in data) || data.needPassword;
219 220
220 if (this.isNewGaiaFlowChromeOS) { 221 if (this.isNewGaiaFlowChromeOS) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 var isEmbeddedPage = false; 309 var isEmbeddedPage = false;
309 if (this.idpOrigin_ && currentUrl.lastIndexOf(this.idpOrigin_) == 0) { 310 if (this.idpOrigin_ && currentUrl.lastIndexOf(this.idpOrigin_) == 0) {
310 var headers = details.responseHeaders; 311 var headers = details.responseHeaders;
311 for (var i = 0; headers && i < headers.length; ++i) { 312 for (var i = 0; headers && i < headers.length; ++i) {
312 if (headers[i].name.toLowerCase() == EMBEDDED_FORM_HEADER) { 313 if (headers[i].name.toLowerCase() == EMBEDDED_FORM_HEADER) {
313 isEmbeddedPage = true; 314 isEmbeddedPage = true;
314 break; 315 break;
315 } 316 }
316 } 317 }
317 } 318 }
318 if (!isEmbeddedPage) { 319
320 // In some cases, non-embedded pages should not be resized. For
321 // example, on desktop when reauthenticating for purposes of unlocking
322 // a profile, resizing would cause a browser window to open in the
323 // system profile, which is not allowed.
324 if (!isEmbeddedPage && !this.dontResizeNonEmbeddedPages) {
319 this.dispatchEvent(new CustomEvent('resize', {detail: currentUrl})); 325 this.dispatchEvent(new CustomEvent('resize', {detail: currentUrl}));
320 return; 326 return;
321 } 327 }
322 } 328 }
323 329
324 this.updateHistoryState_(currentUrl); 330 this.updateHistoryState_(currentUrl);
325 }; 331 };
326 332
327 /** 333 /**
328 * Manually updates the history. Invoked upon completion of a webview 334 * Manually updates the history. Invoked upon completion of a webview
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 Authenticator.AuthMode = AuthMode; 776 Authenticator.AuthMode = AuthMode;
771 Authenticator.SUPPORTED_PARAMS = SUPPORTED_PARAMS; 777 Authenticator.SUPPORTED_PARAMS = SUPPORTED_PARAMS;
772 778
773 return { 779 return {
774 // TODO(guohui, xiyuan): Rename GaiaAuthHost to Authenticator once the old 780 // TODO(guohui, xiyuan): Rename GaiaAuthHost to Authenticator once the old
775 // iframe-based flow is deprecated. 781 // iframe-based flow is deprecated.
776 GaiaAuthHost: Authenticator, 782 GaiaAuthHost: Authenticator,
777 Authenticator: Authenticator 783 Authenticator: Authenticator
778 }; 784 };
779 }); 785 });
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/signin/inline_login_handler_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698