summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/gaia_auth/offline.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/gaia_auth/offline.js')
-rw-r--r--chromium/chrome/browser/resources/gaia_auth/offline.js33
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'}, '*');
+});