OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 }); |
OLD | NEW |