Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / resources / gaia_auth / inline_injected.js
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6  * @fileoverview Code injected into Gaia sign in page for inline sign in flow.
7  * On load stop, it receives a message from the embedder extension with a
8  * JavaScript reference to the embedder window. Then upon submit of the sign
9  * in form, it posts the username and password to the embedder window.
10  * Prototype Only.
11  */
12
13 (function() {
14   var extWindow;
15
16   var $ = function(id) { return document.getElementById(id); };
17   var gaiaLoginForm = $('gaia_loginform');
18
19   var onMessage = function(e) {
20     extWindow = e.source;
21   };
22   window.addEventListener('message', onMessage);
23
24   var onLoginSubmit = function(e) {
25     if (!extWindow) {
26       console.log('ERROR: no initial message received from the gaia ext');
27       e.preventDefault();
28       return;
29     }
30
31     var checkboxElement = $('advanced-box');
32     var chooseWhatToSync = checkboxElement && checkboxElement.checked;
33     var msg = {method: 'attemptLogin',
34                email: gaiaLoginForm['Email'].value,
35                password: gaiaLoginForm['Passwd'].value,
36                attemptToken: new Date().getTime(),
37                chooseWhatToSync: chooseWhatToSync};
38
39     extWindow.postMessage(msg, 'chrome://chrome-signin');
40     console.log('Credentials sent');
41
42     return;
43   };
44   // Overrides the submit handler for the gaia login form.
45   gaiaLoginForm.onsubmit = onLoginSubmit;
46 })();