* @fileoverview Common OOBE controller methods.
*/
-<include src="screen.js"></include>
+<include src="../../login/screen.js"></include>
<include src="../user_images_grid.js"></include>
<include src="apps_menu.js"></include>
-<include src="bubble.js"></include>
-<include src="display_manager.js"></include>
+<include src="../../login/bubble.js"></include>
+<include src="../../login/display_manager.js"></include>
<include src="header_bar.js"></include>
<include src="network_dropdown.js"></include>
<include src="oobe_screen_reset.js"></include>
<include src="oobe_screen_enable_kiosk.js"></include>
<include src="oobe_screen_terms_of_service.js"></include>
<include src="oobe_screen_user_image.js"></include>
-<include src="screen_account_picker.js"></include>
+<include src="../../login/screen_account_picker.js"></include>
<include src="screen_app_launch_splash.js"></include>
<include src="screen_error_message.js"></include>
<include src="screen_gaia_signin.js"></include>
<include src="screen_tpm_error.js"></include>
<include src="screen_wrong_hwid.js"></include>
<include src="screen_confirm_password.js"></include>
-<include src="screen_message_box.js"></include>
-<include src="user_pod_row.js"></include>
-<include src="resource_loader.js"></include>
+<include src="screen_fatal_error.js"></include>
+<include src="../../login/user_pod_row.js"></include>
+<include src="../../login/resource_loader.js"></include>
cr.define('cr.ui', function() {
var DisplayManager = cr.ui.login.DisplayManager;
function Oobe() {
}
+ /**
+ * Delay in milliseconds between start of OOBE animation and start of
+ * header bar animation.
+ */
+ var HEADER_BAR_DELAY_MS = 300;
+
cr.addSingletonGetter(Oobe);
Oobe.prototype = {
Oobe.showOobeUI = function(showOobe) {
if (showOobe) {
document.body.classList.add('oobe-display');
+
+ // Callback to animate the header bar in.
+ var showHeaderBar = function() {
+ login.HeaderBar.animateIn(function() {
+ chrome.send('headerBarVisible');
+ });
+ };
+ // Start asynchronously so the OOBE network screen comes in first.
+ window.setTimeout(showHeaderBar, HEADER_BAR_DELAY_MS);
} else {
document.body.classList.remove('oobe-display');
Oobe.getInstance().prepareForLoginDisplay_();
}
- // Don't show header bar for OOBE.
- Oobe.getInstance().headerHidden = showOobe;
+ Oobe.getInstance().headerHidden = false;
};
/**
};
/**
- * Login for autotests.
+ * Skip to login screen for telemetry.
+ */
+ Oobe.skipToLoginForTesting = function() {
+ Oobe.disableSigninUI();
+ chrome.send('skipToLoginForTesting');
+ };
+
+ /**
+ * Login for telemetry.
* @param {string} username Login username.
* @param {string} password Login password.
*/
Oobe.loginForTesting = function(username, password) {
- chrome.send('skipToLoginForTesting');
- Oobe.showSigninUI(username);
- chrome.send('completeLogin', [username, password]);
+ Oobe.disableSigninUI();
+ chrome.send('skipToLoginForTesting', [username]);
+ chrome.send('completeLogin', [username, password, false]);
+ };
+
+ /**
+ * Guest login for telemetry.
+ */
+ Oobe.guestLoginForTesting = function() {
+ Oobe.skipToLoginForTesting();
+ chrome.send('launchIncognito');
};
/**
- * Authenticate for autotests.
+ * Authenticate for telemetry - used for screenlocker.
* @param {string} username Login username.
* @param {string} password Login password.
*/
Oobe.authenticateForTesting = function(username, password) {
+ Oobe.disableSigninUI();
chrome.send('authenticateUser', [username, password]);
};
+ /**
+ * Gaia login screen for telemetry.
+ */
+ Oobe.addUserForTesting = function() {
+ Oobe.skipToLoginForTesting();
+ chrome.send('addUser');
+ };
+
+ /**
+ * Hotrod requisition for telemetry.
+ */
+ Oobe.remoraRequisitionForTesting = function() {
+ chrome.send('setDeviceRequisition', ['remora']);
+ };
+
+ /**
+ * Finish enterprise enrollment for telemetry.
+ */
+ Oobe.enterpriseEnrollmentDone = function() {
+ chrome.send('oauthEnrollClose', ['done']);
+ };
+
+ /**
+ * Shows/hides login UI control bar with buttons like [Shut down].
+ */
+ Oobe.showControlBar = function(show) {
+ Oobe.getInstance().headerHidden = !show;
+ };
+
// Export
return {
Oobe: Oobe