blob: b0b847381605721df5b9cdd51002df55a5a6a6bd [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Code injected into Gaia sign in page for inline sign in flow.
* On load stop, it receives a message from the embedder extension with a
* JavaScript reference to the embedder window. Then upon submit of the sign
* in form, it posts the username and password to the embedder window.
* Prototype Only.
*/
(function() {
var extWindow;
var $ = function(id) { return document.getElementById(id); };
var gaiaLoginForm = $('gaia_loginform');
var onMessage = function(e) {
extWindow = e.source;
};
window.addEventListener('message', onMessage);
var onLoginSubmit = function(e) {
if (!extWindow) {
console.log('ERROR: no initial message received from the gaia ext');
e.preventDefault();
return;
}
var checkboxElement = $('advanced-box');
var chooseWhatToSync = checkboxElement && checkboxElement.checked;
var msg = {method: 'attemptLogin',
email: gaiaLoginForm['Email'].value,
password: gaiaLoginForm['Passwd'].value,
attemptToken: new Date().getTime(),
chooseWhatToSync: chooseWhatToSync};
extWindow.postMessage(msg, 'chrome://chrome-signin');
console.log('Credentials sent');
return;
};
// Overrides the submit handler for the gaia login form.
gaiaLoginForm.onsubmit = onLoginSubmit;
})();