Home | History | Annotate | Download | only in gaia_auth
      1 // Copyright (c) 2012 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 Offline login implementation.
      7  */
      8 
      9 function load() {
     10   var params = getUrlSearchParams(location.search);
     11 
     12   // Setup localized strings.
     13   $('sign-in-title').textContent = decodeURIComponent(params['stringSignIn']);
     14   $('email-label').textContent = decodeURIComponent(params['stringEmail']);
     15   $('password-label').textContent =
     16       decodeURIComponent(params['stringPassword']);
     17   $('submit-button').value = decodeURIComponent(params['stringSignIn']);
     18   $('empty-email-alert').textContent =
     19       decodeURIComponent(params['stringEmptyEmail']);
     20   $('empty-password-alert').textContent =
     21       decodeURIComponent(params['stringEmptyPassword']);
     22   $('errormsg-alert').textContent = decodeURIComponent(params['stringError']);
     23 
     24   // Setup actions.
     25   var form = $('offline-login-form');
     26   form.addEventListener('submit', function(e) {
     27     // Clear all previous errors.
     28     form.email.classList.remove('field-error');
     29     form.password.classList.remove('field-error');
     30     form.password.classList.remove('form-error');
     31 
     32     if (form.email.value == '') {
     33       form.email.classList.add('field-error');
     34       form.email.focus();
     35     } else if (form.password.value == '') {
     36       form.password.classList.add('field-error');
     37       form.password.focus();
     38     } else {
     39       var msg = {
     40         'method': 'offlineLogin',
     41         'email': form.email.value,
     42         'password': form.password.value
     43       };
     44       window.parent.postMessage(msg, 'chrome://oobe/');
     45     }
     46     e.preventDefault();
     47   });
     48 
     49   var email = params['email'];
     50   if (email) {
     51     // Email is present, which means that unsuccessful login attempt has been
     52     // made. Try to mimic Gaia's behaviour.
     53     form.email.value = email;
     54     form.password.classList.add('form-error');
     55     form.password.focus();
     56   } else {
     57     form.email.focus();
     58   }
     59   window.parent.postMessage({'method': 'loginUILoaded'}, 'chrome://oobe/');
     60 }
     61 
     62 document.addEventListener('DOMContentLoaded', load);
     63