| 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 |