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

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

Issue 7550043: CrOS OOBE: Grab accelerators in native code instead of JS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 Out of the box experience flow (OOBE). 6 * @fileoverview Out of the box experience flow (OOBE).
7 * This is the main code for the OOBE WebUI implementation. 7 * This is the main code for the OOBE WebUI implementation.
8 */ 8 */
9 9
10 var localStrings = new LocalStrings(); 10 var localStrings = new LocalStrings();
11 11
12 12
13 cr.define('cr.ui', function() { 13 cr.define('cr.ui', function() {
14 const SCREEN_SIGNIN = 'signin'; 14 const SCREEN_SIGNIN = 'signin';
15 const SCREEN_GAIA_SIGNIN = 'gaia-signin';
15 const SCREEN_ACCOUNT_PICKER = 'account-picker'; 16 const SCREEN_ACCOUNT_PICKER = 'account-picker';
16 17
17 /** 18 /**
18 * Constructs an Out of box controller. It manages initialization of screens, 19 * Constructs an Out of box controller. It manages initialization of screens,
19 * transitions, error messages display. 20 * transitions, error messages display.
20 * 21 *
21 * @constructor 22 * @constructor
22 */ 23 */
23 function Oobe() { 24 function Oobe() {
24 } 25 }
(...skipping 14 matching lines...) Expand all
39 40
40 /** 41 /**
41 * Gets current screen element. 42 * Gets current screen element.
42 * @type {HTMLElement} 43 * @type {HTMLElement}
43 */ 44 */
44 get currentScreen() { 45 get currentScreen() {
45 return $(this.screens_[this.currentStep_]); 46 return $(this.screens_[this.currentStep_]);
46 }, 47 },
47 48
48 /** 49 /**
49 * Oobe keydown handler. 50 * Handle accelerators.
51 * @param {string} accelerator name.
50 */ 52 */
51 oobeKeyDown: function(e) { 53 handleAccelerator: function(name) {
52 var keystroke = String.fromCharCode(e.keyCode); 54 if (name == 'accessibility') {
whywhat 2011/08/08 08:09:08 optional: define accelerator names as constants ab
Mattias Nissler (ping if slow) 2011/08/08 11:11:47 Done.
53 switch (keystroke) { 55 chrome.send('toggleAccessibility', []);
54 case 'Z': 56 } else if (name == 'enrollment') {
55 if (e.altKey && e.ctrlKey) { 57 var currentStepId = this.screens_[this.currentStep_];
56 chrome.send('toggleAccessibility', []); 58 if (currentStepId == SCREEN_SIGNIN ||
57 break; 59 currentStepId == SCREEN_GAIA_SIGNIN) {
58 } 60 chrome.send('toggleEnrollmentScreen', []);
59 case 'E': 61 }
60 var currentStepId = this.screens_[this.currentStep_]; 62 }
61 if (currentStepId == SCREEN_SIGNIN) {
62 if (e.altKey && e.ctrlKey) {
63 chrome.send('toggleEnrollmentScreen', []);
64 break;
65 }
66 }
67 } // switch
68 }, 63 },
69 64
70 /** 65 /**
71 * Appends buttons to the button strip. 66 * Appends buttons to the button strip.
72 * @param {Array} buttons Array with the buttons to append. 67 * @param {Array} buttons Array with the buttons to append.
73 */ 68 */
74 appendButtons_ : function(buttons) { 69 appendButtons_ : function(buttons) {
75 if (buttons) { 70 if (buttons) {
76 var buttonStrip = $('button-strip'); 71 var buttonStrip = $('button-strip');
77 for (var i = 0; i < buttons.length; ++i) { 72 for (var i = 0; i < buttons.length; ++i) {
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 $('bubble').showTextForElement($('add-user-button'), 284 $('bubble').showTextForElement($('add-user-button'),
290 localStrings.getString('addUserOfflineMessage')); 285 localStrings.getString('addUserOfflineMessage'));
291 } 286 }
292 }); 287 });
293 $('cancel-add-user-button').addEventListener('click', function(e) { 288 $('cancel-add-user-button').addEventListener('click', function(e) {
294 this.hidden = true; 289 this.hidden = true;
295 $('add-user-button').hidden = false; 290 $('add-user-button').hidden = false;
296 Oobe.showScreen({id: SCREEN_ACCOUNT_PICKER}); 291 Oobe.showScreen({id: SCREEN_ACCOUNT_PICKER});
297 }); 292 });
298 293
299 document.addEventListener('keydown', function(e) { 294 chrome.send('screenStateInitialize', []);
300 Oobe.getInstance().oobeKeyDown(e); 295 };
301 }, true);
302 296
303 chrome.send('screenStateInitialize', []); 297 /**
298 * Handle accelerators. These are passed from native code instead of a JS
299 * event handler in order to make sure that embedded iframes cannot swallow
300 * them.
301 *
James Hawkins 2011/08/05 20:19:50 Remove blank line.
Mattias Nissler (ping if slow) 2011/08/08 11:11:47 Done.
302 * @param {string} accelerator name.
whywhat 2011/08/08 08:09:08 nit: Should be @param {string} name Accelerator na
Mattias Nissler (ping if slow) 2011/08/08 11:11:47 Done.
303 */
304 Oobe.handleAccelerator = function(name) {
305 Oobe.getInstance().handleAccelerator(name);
304 }; 306 };
305 307
306 /** 308 /**
307 * Shows the given screen. 309 * Shows the given screen.
308 * @param {Object} screen Screen params dict, e.g. {id: screenId, data: data} 310 * @param {Object} screen Screen params dict, e.g. {id: screenId, data: data}
309 */ 311 */
310 Oobe.showScreen = function(screen) { 312 Oobe.showScreen = function(screen) {
311 Oobe.getInstance().showScreen(screen); 313 Oobe.getInstance().showScreen(screen);
312 }; 314 };
313 315
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 document.onselectstart = function(e) { 540 document.onselectstart = function(e) {
539 e.preventDefault(); 541 e.preventDefault();
540 } 542 }
541 543
542 // Disable dragging. 544 // Disable dragging.
543 document.ondragstart = function(e) { 545 document.ondragstart = function(e) {
544 e.preventDefault(); 546 e.preventDefault();
545 } 547 }
546 548
547 document.addEventListener('DOMContentLoaded', cr.ui.Oobe.initialize); 549 document.addEventListener('DOMContentLoaded', cr.ui.Oobe.initialize);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698