| Index: chrome/browser/resources/chromeos/login/login.js
|
| diff --git a/chrome/browser/resources/chromeos/login/login.js b/chrome/browser/resources/chromeos/login/login.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8c25c040bb1566e47dd8634194d09e87f686f945
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/chromeos/login/login.js
|
| @@ -0,0 +1,162 @@
|
| +// Copyright (c) 2011 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 Login UI based on a stripped down OOBE controller.
|
| + * TODO(xiyuan): Refactoring this to get a better structure.
|
| + */
|
| +
|
| +var localStrings = new LocalStrings();
|
| +
|
| +cr.define('cr.ui', function() {
|
| + var DisplayManager = cr.ui.login.DisplayManager;
|
| +
|
| + /**
|
| + * Constructs an Out of box controller. It manages initialization of screens,
|
| + * transitions, error messages display.
|
| + * @extends {DisplayManager}
|
| + * @constructor
|
| + */
|
| + function Oobe() {
|
| + }
|
| +
|
| + cr.addSingletonGetter(Oobe);
|
| +
|
| + Oobe.prototype = {
|
| + __proto__: DisplayManager.prototype,
|
| + };
|
| +
|
| + /**
|
| + * Initializes the OOBE flow. This will cause all C++ handlers to
|
| + * be invoked to do final setup.
|
| + */
|
| + Oobe.initialize = function() {
|
| + login.AccountPickerScreen.register();
|
| + login.GaiaSigninScreen.register();
|
| + oobe.UserImageScreen.register();
|
| + login.OfflineMessageScreen.register();
|
| +
|
| + cr.ui.Bubble.decorate($('bubble'));
|
| + login.HeaderBar.decorate($('login-header-bar'));
|
| +
|
| + chrome.send('screenStateInitialize', []);
|
| + };
|
| +
|
| + /**
|
| + * Handle accelerators. These are passed from native code instead of a JS
|
| + * event handler in order to make sure that embedded iframes cannot swallow
|
| + * them.
|
| + * @param {string} name Accelerator name.
|
| + */
|
| + Oobe.handleAccelerator = function(name) {
|
| + Oobe.getInstance().handleAccelerator(name);
|
| + };
|
| +
|
| + /**
|
| + * Shows the given screen.
|
| + * @param {Object} screen Screen params dict, e.g. {id: screenId, data: data}
|
| + */
|
| + Oobe.showScreen = function(screen) {
|
| + Oobe.getInstance().showScreen(screen);
|
| + };
|
| +
|
| + /**
|
| + * Dummy Oobe functions not present with stripped login UI.
|
| + */
|
| + Oobe.enableContinueButton = function(enable) {};
|
| + Oobe.setUsageStats = function(checked) {};
|
| + Oobe.setOemEulaUrl = function(oemEulaUrl) {};
|
| + Oobe.setUpdateProgress = function(progress) {};
|
| + Oobe.setUpdateMessage = function(message) {};
|
| + Oobe.showUpdateCurtain = function(enable) {};
|
| + Oobe.setTpmPassword = function(password) {}
|
| + Oobe.reloadContent = function(data) {}
|
| +
|
| + /**
|
| + * Update body class to switch between OOBE UI and Login UI.
|
| + */
|
| + Oobe.showOobeUI = function(showOobe) {
|
| + if (showOobe) {
|
| + document.body.classList.remove('login-display');
|
| + } else {
|
| + document.body.classList.add('login-display');
|
| + Oobe.getInstance().prepareForLoginDisplay_();
|
| + }
|
| +
|
| + // Don't show header bar for OOBE.
|
| + Oobe.getInstance().headerHidden = showOobe;
|
| + };
|
| +
|
| + /**
|
| + * Shows signin UI.
|
| + * @param {string} opt_email An optional email for signin UI.
|
| + */
|
| + Oobe.showSigninUI = function(opt_email) {
|
| + DisplayManager.showSigninUI(opt_email);
|
| + };
|
| +
|
| + /**
|
| + * Resets sign-in input fields.
|
| + */
|
| + Oobe.resetSigninUI = function() {
|
| + DisplayManager.resetSigninUI();
|
| + };
|
| +
|
| + /**
|
| + * Shows sign-in error bubble.
|
| + * @param {number} loginAttempts Number of login attemps tried.
|
| + * @param {string} message Error message to show.
|
| + * @param {string} link Text to use for help link.
|
| + * @param {number} helpId Help topic Id associated with help link.
|
| + */
|
| + Oobe.showSignInError = function(loginAttempts, message, link, helpId) {
|
| + DisplayManager.showSignInError(loginAttempts, message, link, helpId);
|
| + };
|
| +
|
| + /**
|
| + * Clears error bubble.
|
| + */
|
| + Oobe.clearErrors = function() {
|
| + DisplayManager.clearErrors();
|
| + };
|
| +
|
| + /**
|
| + * Handles login success notification.
|
| + */
|
| + Oobe.onLoginSuccess = function(username) {
|
| + if (Oobe.getInstance().currentScreen.id == SCREEN_ACCOUNT_PICKER) {
|
| + // TODO(nkostylev): Enable animation back when session start jank
|
| + // is reduced. See http://crosbug.com/11116 http://crosbug.com/18307
|
| + // $('pod-row').startAuthenticatedAnimation();
|
| + }
|
| + };
|
| +
|
| + /**
|
| + * Sets text content for a div with |labelId|.
|
| + * @param {string} labelId Id of the label div.
|
| + * @param {string} labelText Text for the label.
|
| + */
|
| + Oobe.setLabelText = function(labelId, labelText) {
|
| + DisplayManager.setLabelText(labelId, labelText);
|
| + };
|
| +
|
| + // Export
|
| + return {
|
| + Oobe: Oobe
|
| + };
|
| +});
|
| +
|
| +var Oobe = cr.ui.Oobe;
|
| +
|
| +// Disable text selection.
|
| +document.onselectstart = function(e) {
|
| + e.preventDefault();
|
| +}
|
| +
|
| +// Disable dragging.
|
| +document.ondragstart = function(e) {
|
| + e.preventDefault();
|
| +}
|
| +
|
| +document.addEventListener('DOMContentLoaded', cr.ui.Oobe.initialize);
|
|
|