diff options
Diffstat (limited to 'chromium/chrome/browser/resources/gaia_auth/offline.js')
-rw-r--r-- | chromium/chrome/browser/resources/gaia_auth/offline.js | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/chromium/chrome/browser/resources/gaia_auth/offline.js b/chromium/chrome/browser/resources/gaia_auth/offline.js index 7b4da1f5285..aaf60450da8 100644 --- a/chromium/chrome/browser/resources/gaia_auth/offline.js +++ b/chromium/chrome/browser/resources/gaia_auth/offline.js @@ -6,9 +6,11 @@ * @fileoverview Offline login implementation. */ -function load() { - var params = getUrlSearchParams(location.search); - +/** + * Initialize the offline page. + * @param {Object} params Intialization params passed from parent page. + */ +function load(params) { // Setup localized strings. $('sign-in-title').textContent = decodeURIComponent(params['stringSignIn']); $('email-label').textContent = decodeURIComponent(params['stringEmail']); @@ -59,4 +61,27 @@ function load() { window.parent.postMessage({'method': 'loginUILoaded'}, 'chrome://oobe/'); } -document.addEventListener('DOMContentLoaded', load); +/** + * Handles initialization message from parent page. + * @param {MessageEvent} e + */ +function handleInitializeMessage(e) { + var ALLOWED_PARENT_ORIGINS = [ + 'chrome://oobe', + 'chrome://chrome-signin' + ]; + + if (ALLOWED_PARENT_ORIGINS.indexOf(e.origin) == -1) + return; + + window.removeEventListener('message', handleInitializeMessage); + + var params = e.data; + params.parentPage = e.origin; + load(params); +} + +document.addEventListener('DOMContentLoaded', function() { + window.addEventListener('message', handleInitializeMessage); + window.parent.postMessage({'method': 'loginUIDOMContentLoaded'}, '*'); +}); |