Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1540)

Side by Side Diff: chrome/browser/resources/chromeos/login/display_manager.js

Issue 22914008: Refactor kiosk app launch to be part of login screen UI flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Display manager for WebUI OOBE and login. 6 * @fileoverview Display manager for WebUI OOBE and login.
7 */ 7 */
8 8
9 // TODO(xiyuan): Find a better to share those constants. 9 // TODO(xiyuan): Find a better to share those constants.
10 /** @const */ var SCREEN_OOBE_NETWORK = 'connect'; 10 /** @const */ var SCREEN_OOBE_NETWORK = 'connect';
11 /** @const */ var SCREEN_OOBE_EULA = 'eula'; 11 /** @const */ var SCREEN_OOBE_EULA = 'eula';
12 /** @const */ var SCREEN_OOBE_UPDATE = 'update'; 12 /** @const */ var SCREEN_OOBE_UPDATE = 'update';
13 /** @const */ var SCREEN_OOBE_ENROLLMENT = 'oauth-enrollment'; 13 /** @const */ var SCREEN_OOBE_ENROLLMENT = 'oauth-enrollment';
14 /** @const */ var SCREEN_OOBE_KIOSK_ENABLE = 'kiosk-enable'; 14 /** @const */ var SCREEN_OOBE_KIOSK_ENABLE = 'kiosk-enable';
15 /** @const */ var SCREEN_GAIA_SIGNIN = 'gaia-signin'; 15 /** @const */ var SCREEN_GAIA_SIGNIN = 'gaia-signin';
16 /** @const */ var SCREEN_ACCOUNT_PICKER = 'account-picker'; 16 /** @const */ var SCREEN_ACCOUNT_PICKER = 'account-picker';
17 /** @const */ var SCREEN_ERROR_MESSAGE = 'error-message'; 17 /** @const */ var SCREEN_ERROR_MESSAGE = 'error-message';
18 /** @const */ var SCREEN_USER_IMAGE_PICKER = 'user-image'; 18 /** @const */ var SCREEN_USER_IMAGE_PICKER = 'user-image';
19 /** @const */ var SCREEN_TPM_ERROR = 'tpm-error-message'; 19 /** @const */ var SCREEN_TPM_ERROR = 'tpm-error-message';
20 /** @const */ var SCREEN_PASSWORD_CHANGED = 'password-changed'; 20 /** @const */ var SCREEN_PASSWORD_CHANGED = 'password-changed';
21 /** @const */ var SCREEN_CREATE_MANAGED_USER_FLOW = 21 /** @const */ var SCREEN_CREATE_MANAGED_USER_FLOW =
22 'managed-user-creation'; 22 'managed-user-creation';
23 /** @const */ var SCREEN_APP_LAUNCH_SPLASH = 'app-launch-splash';
23 24
24 /* Accelerator identifiers. Must be kept in sync with webui_login_view.cc. */ 25 /* Accelerator identifiers. Must be kept in sync with webui_login_view.cc. */
25 /** @const */ var ACCELERATOR_CANCEL = 'cancel'; 26 /** @const */ var ACCELERATOR_CANCEL = 'cancel';
26 /** @const */ var ACCELERATOR_ENROLLMENT = 'enrollment'; 27 /** @const */ var ACCELERATOR_ENROLLMENT = 'enrollment';
27 /** @const */ var ACCELERATOR_KIOSK_ENABLE = 'kiosk_enable'; 28 /** @const */ var ACCELERATOR_KIOSK_ENABLE = 'kiosk_enable';
28 /** @const */ var ACCELERATOR_VERSION = 'version'; 29 /** @const */ var ACCELERATOR_VERSION = 'version';
29 /** @const */ var ACCELERATOR_RESET = 'reset'; 30 /** @const */ var ACCELERATOR_RESET = 'reset';
30 /** @const */ var ACCELERATOR_LEFT = 'left'; 31 /** @const */ var ACCELERATOR_LEFT = 'left';
31 /** @const */ var ACCELERATOR_RIGHT = 'right'; 32 /** @const */ var ACCELERATOR_RIGHT = 'right';
32 /** @const */ var ACCELERATOR_DEVICE_REQUISITION = 'device_requisition'; 33 /** @const */ var ACCELERATOR_DEVICE_REQUISITION = 'device_requisition';
33 /** @const */ var ACCELERATOR_DEVICE_REQUISITION_REMORA = 34 /** @const */ var ACCELERATOR_DEVICE_REQUISITION_REMORA =
34 'device_requisition_remora'; 35 'device_requisition_remora';
36 /** @const */ var ACCELERATOR_APP_LAUNCH_BAILOUT = 'app_launch_bailout';
35 37
36 /* Help topic identifiers. */ 38 /* Help topic identifiers. */
37 /** @const */ var HELP_TOPIC_ENTERPRISE_REPORTING = 2535613; 39 /** @const */ var HELP_TOPIC_ENTERPRISE_REPORTING = 2535613;
38 40
39 /* Signin UI state constants. Used to control header bar UI. */ 41 /* Signin UI state constants. Used to control header bar UI. */
40 /** @const */ var SIGNIN_UI_STATE = { 42 /** @const */ var SIGNIN_UI_STATE = {
41 HIDDEN: 0, 43 HIDDEN: 0,
42 GAIA_SIGNIN: 1, 44 GAIA_SIGNIN: 1,
43 ACCOUNT_PICKER: 2, 45 ACCOUNT_PICKER: 2,
44 WRONG_HWID_WARNING: 3, 46 WRONG_HWID_WARNING: 3,
45 MANAGED_USER_CREATION_FLOW: 4, 47 MANAGED_USER_CREATION_FLOW: 4,
46 }; 48 };
47 49
48 /* Possible UI states of the error screen. */ 50 /* Possible UI states of the error screen. */
49 /** @const */ var ERROR_SCREEN_UI_STATE = { 51 /** @const */ var ERROR_SCREEN_UI_STATE = {
50 UNKNOWN: 'ui-state-unknown', 52 UNKNOWN: 'ui-state-unknown',
51 UPDATE: 'ui-state-update', 53 UPDATE: 'ui-state-update',
52 SIGNIN: 'ui-state-signin', 54 SIGNIN: 'ui-state-signin',
53 MANAGED_USER_CREATION_FLOW: 'ui-state-locally-managed' 55 MANAGED_USER_CREATION_FLOW: 'ui-state-locally-managed'
54 }; 56 };
55 57
56 /* Possible types of UI. */ 58 /* Possible types of UI. */
57 /** @const */ var DISPLAY_TYPE = { 59 /** @const */ var DISPLAY_TYPE = {
58 UNKNOWN: 'unknown', 60 UNKNOWN: 'unknown',
59 OOBE: 'oobe', 61 OOBE: 'oobe',
60 LOGIN: 'login', 62 LOGIN: 'login',
61 LOCK: 'lock', 63 LOCK: 'lock',
62 USER_ADDING: 'user-adding' 64 USER_ADDING: 'user-adding',
65 APP_LAUNCH_SPLASH: 'app-launch-splash'
63 }; 66 };
64 67
65 cr.define('cr.ui.login', function() { 68 cr.define('cr.ui.login', function() {
66 var Bubble = cr.ui.Bubble; 69 var Bubble = cr.ui.Bubble;
67 70
68 /** 71 /**
69 * Maximum time in milliseconds to wait for step transition to finish. 72 * Maximum time in milliseconds to wait for step transition to finish.
70 * The value is used as the duration for ensureTransitionEndEvent below. 73 * The value is used as the duration for ensureTransitionEndEvent below.
71 * It needs to be inline with the step screen transition duration time 74 * It needs to be inline with the step screen transition duration time
72 * defined in css file. The current value in css is 200ms. To avoid emulated 75 * defined in css file. The current value in css is 200ms. To avoid emulated
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 chrome.send('toggleResetScreen'); 231 chrome.send('toggleResetScreen');
229 } 232 }
230 } else if (name == ACCELERATOR_DEVICE_REQUISITION) { 233 } else if (name == ACCELERATOR_DEVICE_REQUISITION) {
231 if (this.isOobeUI()) 234 if (this.isOobeUI())
232 this.showDeviceRequisitionPrompt_(); 235 this.showDeviceRequisitionPrompt_();
233 } else if (name == ACCELERATOR_DEVICE_REQUISITION_REMORA) { 236 } else if (name == ACCELERATOR_DEVICE_REQUISITION_REMORA) {
234 if (this.isOobeUI()) { 237 if (this.isOobeUI()) {
235 this.deviceRequisition_ = 'remora'; 238 this.deviceRequisition_ = 'remora';
236 this.showDeviceRequisitionPrompt_(); 239 this.showDeviceRequisitionPrompt_();
237 } 240 }
241 } else if (name == ACCELERATOR_APP_LAUNCH_BAILOUT) {
242 var currentStepId = this.screens_[this.currentStep_];
243 if (currentStepId == SCREEN_APP_LAUNCH_SPLASH)
244 chrome.send('cancelAppLaunch');
238 } 245 }
239 246
240 if (!this.forceKeyboardFlow_) 247 if (!this.forceKeyboardFlow_)
241 return; 248 return;
242 249
243 // Handle special accelerators for keyboard enhanced navigation flow. 250 // Handle special accelerators for keyboard enhanced navigation flow.
244 if (name == ACCELERATOR_LEFT) 251 if (name == ACCELERATOR_LEFT)
245 keyboard.raiseKeyFocusPrevious(document.activeElement); 252 keyboard.raiseKeyFocusPrevious(document.activeElement);
246 else if (name == ACCELERATOR_RIGHT) 253 else if (name == ACCELERATOR_RIGHT)
247 keyboard.raiseKeyFocusNext(document.activeElement); 254 keyboard.raiseKeyFocusNext(document.activeElement);
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 /** 487 /**
481 * Updates inner container size based on the size of the current screen and 488 * Updates inner container size based on the size of the current screen and
482 * other screens in the same group. 489 * other screens in the same group.
483 * Should be executed on screen change / screen size change. 490 * Should be executed on screen change / screen size change.
484 * @param {!HTMLElement} screen Screen that is being shown. 491 * @param {!HTMLElement} screen Screen that is being shown.
485 */ 492 */
486 updateScreenSize: function(screen) { 493 updateScreenSize: function(screen) {
487 // Have to reset any previously predefined screen size first 494 // Have to reset any previously predefined screen size first
488 // so that screen contents would define it instead (offsetHeight/width). 495 // so that screen contents would define it instead (offsetHeight/width).
489 // http://crbug.com/146539 496 // http://crbug.com/146539
497 $('inner-container').style.height = '';
498 $('inner-container').style.width = '';
490 screen.style.width = ''; 499 screen.style.width = '';
491 screen.style.height = ''; 500 screen.style.height = '';
492 501
502 $('outer-container').classList.toggle(
503 'fullscreen', screen.classList.contains('fullscreen'));
504
493 var height = screen.offsetHeight; 505 var height = screen.offsetHeight;
494 var width = screen.offsetWidth; 506 var width = screen.offsetWidth;
495 for (var i = 0, screenGroup; screenGroup = SCREEN_GROUPS[i]; i++) { 507 for (var i = 0, screenGroup; screenGroup = SCREEN_GROUPS[i]; i++) {
496 if (screenGroup.indexOf(screen.id) != -1) { 508 if (screenGroup.indexOf(screen.id) != -1) {
497 // Set screen dimensions to maximum dimensions within this group. 509 // Set screen dimensions to maximum dimensions within this group.
498 for (var j = 0, screen2; screen2 = $(screenGroup[j]); j++) { 510 for (var j = 0, screen2; screen2 = $(screenGroup[j]); j++) {
499 height = Math.max(height, screen2.offsetHeight); 511 height = Math.max(height, screen2.offsetHeight);
500 width = Math.max(width, screen2.offsetWidth); 512 width = Math.max(width, screen2.offsetWidth);
501 } 513 }
502 break; 514 break;
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 */ 812 */
801 DisplayManager.refocusCurrentPod = function() { 813 DisplayManager.refocusCurrentPod = function() {
802 $('pod-row').refocusCurrentPod(); 814 $('pod-row').refocusCurrentPod();
803 }; 815 };
804 816
805 // Export 817 // Export
806 return { 818 return {
807 DisplayManager: DisplayManager 819 DisplayManager: DisplayManager
808 }; 820 };
809 }); 821 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/chromeos/app_launch/app_launch.js ('k') | chrome/browser/resources/chromeos/login/login.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698