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

Unified Diff: chrome/browser/resources/gaia_auth_host/authenticator.js

Issue 2946023002: ChromeOS: Add support for loading GAIA API v2 (Closed)
Patch Set: Update after review Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/gaia_auth_host/authenticator.js
diff --git a/chrome/browser/resources/gaia_auth_host/authenticator.js b/chrome/browser/resources/gaia_auth_host/authenticator.js
index 1dfc4c5fc6194f1b49f93c2e0b52af7cf955a14d..2e293831dbce1fe439abda5616bae6ebb7e89217 100644
--- a/chrome/browser/resources/gaia_auth_host/authenticator.js
+++ b/chrome/browser/resources/gaia_auth_host/authenticator.js
@@ -31,6 +31,7 @@ cr.define('cr.login', function() {
var GAPS_COOKIE = 'GAPS';
var SERVICE_ID = 'chromeoslogin';
var EMBEDDED_SETUP_CHROMEOS_ENDPOINT = 'embedded/setup/chromeos';
+ var EMBEDDED_SETUP_CHROMEOS_ENDPOINT_V2 = 'embedded/setup/v2/chromeos';
var SAML_REDIRECTION_PATH = 'samlredirect';
var BLANK_PAGE_URL = 'about:blank';
@@ -76,15 +77,16 @@ cr.define('cr.login', function() {
// not called before dispatching |authCopleted|.
// Default is |true|.
'flow', // One of 'default', 'enterprise', or 'theftprotection'.
- 'enterpriseDomain', // Domain in which hosting device is (or should be)
- // enrolled.
- 'emailDomain', // Value used to prefill domain for email.
- 'chromeType', // Type of Chrome OS device, e.g. "chromebox".
- 'clientVersion', // Version of the Chrome build.
- 'platformVersion', // Version of the OS build.
- 'releaseChannel', // Installation channel.
- 'endpointGen', // Current endpoint generation.
- 'gapsCookie', // GAPS cookie
+ 'enterpriseDomain', // Domain in which hosting device is (or should be)
+ // enrolled.
+ 'emailDomain', // Value used to prefill domain for email.
+ 'chromeType', // Type of Chrome OS device, e.g. "chromebox".
+ 'clientVersion', // Version of the Chrome build.
+ 'platformVersion', // Version of the OS build.
+ 'releaseChannel', // Installation channel.
+ 'endpointGen', // Current endpoint generation.
+ 'gapsCookie', // GAPS cookie
+ 'chromeOSApiVersion', // GAIA Chrome OS API version
// The email fields allow for the following possibilities:
//
@@ -231,6 +233,7 @@ cr.define('cr.login', function() {
this.gapsCookieSent_ = false;
this.newGapsCookie_ = null;
this.dontResizeNonEmbeddedPages = data.dontResizeNonEmbeddedPages;
+ this.chromeOSApiVersion_ = data.chromeOSApiVersion;
this.initialFrameUrl_ = this.constructInitialFrameUrl_(data);
this.reloadUrl_ = data.frameUrl || this.initialFrameUrl_;
@@ -247,7 +250,7 @@ cr.define('cr.login', function() {
if (!this.onBeforeSetHeadersSet_) {
this.onBeforeSetHeadersSet_ = true;
- var filterPrefix = this.idpOrigin_ + EMBEDDED_SETUP_CHROMEOS_ENDPOINT;
+ var filterPrefix = this.constructChromeOSAPIUrl_();
// This depends on gaiaUrl parameter, that is why it is here.
this.webview_.request.onBeforeSendHeaders.addListener(
this.onBeforeSendHeaders_.bind(this),
@@ -260,6 +263,13 @@ cr.define('cr.login', function() {
this.isLoaded_ = true;
};
+ Authenticator.prototype.constructChromeOSAPIUrl_ = function() {
+ if (this.chromeOSApiVersion_ && this.chromeOSApiVersion_ == 2)
+ return this.idpOrigin_ + EMBEDDED_SETUP_CHROMEOS_ENDPOINT_V2;
+
+ return this.idpOrigin_ + EMBEDDED_SETUP_CHROMEOS_ENDPOINT;
+ };
+
/**
* Reloads the authenticator component.
*/
@@ -283,12 +293,13 @@ cr.define('cr.login', function() {
return url;
}
- var path = data.gaiaPath;
- if (!path && this.isNewGaiaFlow)
- path = EMBEDDED_SETUP_CHROMEOS_ENDPOINT;
- if (!path)
- path = IDP_PATH;
- var url = this.idpOrigin_ + path;
+ var url;
+ if (data.gaiaPath)
+ url = this.idpOrigin_ + data.gaiaPath;
+ else if (this.isNewGaiaFlow)
+ url = this.constructChromeOSAPIUrl_();
+ else
+ url = this.idpOrigin_ + IDP_PATH;
if (this.isNewGaiaFlow) {
if (data.chromeType)
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698