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

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

Issue 252503002: Base version of HID detection OOBE screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Some unused code removed. Basic support of pincode keyboards added. Created 6 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 Oobe HID detection screen implementation. 6 * @fileoverview Oobe HID detection screen implementation.
7 */ 7 */
8 8
9 login.createScreen('HIDDetectionScreen', 'hid-detection', function() { 9 login.createScreen('HIDDetectionScreen', 'hid-detection', function() {
10 return { 10 return {
11 EXTERNAL_API: [
12 'setPointingDeviceState',
13 'setKeyboardDeviceState',
14 ],
15
16 /**
17 * Enumeration of possible states during pairing. The value associated with
18 * each state maps to a localized string in the global variable
19 * |loadTimeData|.
20 * @enum {string}
21 */
22 PAIRING: {
23 STARTUP: 'bluetoothStartConnecting',
ygorshenin1 2014/04/25 15:05:08 nit: 2 spaces indent.
merkulova 2014/04/25 16:24:28 Done.
24 ENTER_PIN_CODE: 'bluetoothEnterPinCode',
25 ENTER_PASSKEY: 'bluetoothEnterPasskey',
26 REMOTE_PIN_CODE: 'bluetoothRemotePinCode',
27 REMOTE_PASSKEY: 'bluetoothRemotePasskey',
28 CONFIRM_PASSKEY: 'bluetoothConfirmPasskey',
29 CONNECT_FAILED: 'bluetoothConnectFailed',
30 CANCELED: 'bluetoothPairingCanceled',
31 // Pairing dismissed(succeeded or canceled).
ygorshenin1 2014/04/25 15:05:08 nit: a space before (.
merkulova 2014/04/25 16:24:28 Done.
32 DISMISSED: 'bluetoothPairingDismissed'
33 },
34
11 /** 35 /**
12 * Button to move to usual OOBE flow after detection. 36 * Button to move to usual OOBE flow after detection.
13 * @private 37 * @private
14 */ 38 */
15 continueButton_: null, 39 continueButton_: null,
16 40
17 /** 41 /**
18 * Buttons in oobe wizard's button strip. 42 * Buttons in oobe wizard's button strip.
19 * @type {array} Array of Buttons. 43 * @type {array} Array of Buttons.
20 */ 44 */
(...skipping 14 matching lines...) Expand all
35 }, 59 },
36 60
37 /** 61 /**
38 * Returns a control which should receive an initial focus. 62 * Returns a control which should receive an initial focus.
39 */ 63 */
40 get defaultControl() { 64 get defaultControl() {
41 return this.continueButton_; 65 return this.continueButton_;
42 }, 66 },
43 67
44 /** 68 /**
69 * Sets a device-block css class to reflect device state of searching,
70 * connected, pairing or paired (for BT devices).
71 * @param {blockId} id one of 'hid-mouse-block' or 'hid-keyboard-block'.
72 * @param {state} one of 'searching', 'connected', 'pairing', 'paired'.
73 * @private
74 */
75 setDeviceBlockState_: function(blockId, state) {
76 var deviceBlock = $(blockId);
77 var states = ['searching', 'connected', 'pairing', 'paired'];
78 for (var i = 0; i < states.length; ++i) {
79 if (states[i] != state)
80 deviceBlock.classList.remove(states[i]);
81 }
82 deviceBlock.classList.add(state);
83 },
84
85 /**
86 * Sets state for mouse-block.
87 * @param {state} one of 'searching', 'connected', 'paired'.
88 */
89 setPointingDeviceState: function(state) {
90 if (state === undefined)
91 return;
92 this.setDeviceBlockState_('hid-mouse-block', state);
93 },
94
ygorshenin1 2014/04/25 15:05:08 Add a comment to setKeyboardDeviceState().
merkulova 2014/04/25 16:24:28 Done.
95 setKeyboardDeviceState: function(data) {
ygorshenin1 2014/04/25 15:05:08 After discussion: could you please add a field 'st
merkulova 2014/04/25 16:24:28 Done.
96 if (data === undefined)
97 return;
98 if ('searching' in data) {
99 this.setDeviceBlockState_('hid-keyboard-block', 'searching');
100 } else if ('connected' in data) {
101 this.setDeviceBlockState_('hid-keyboard-block', 'connected');
102 } else if ('paired' in data) {
103 this.setDeviceBlockState_('hid-keyboard-block', 'paired');
104 $('hid-keyboard-label-paired').textContent = data['keyboard-label'];
105 } else if ('pairing' in data) {
106 this.setDeviceBlockState_('hid-keyboard-block', 'pairing');
107 $('hid-keyboard-label-pairing').textContent = data['keyboard-label'];
108 if (data['pairing'] == this.PAIRING.REMOTE_PIN_CODE) {
109 // remove pincode pictures if exist.
ygorshenin1 2014/04/25 15:05:08 nit: when your comment is a complete expression (w
merkulova 2014/04/25 16:24:28 Done.
110 var pincodeBlock = $('hid-keyboard-pincode');
111 while (pincodeBlock.firstChild.id != 'hid-keyboard-pincode-enter') {
112 pincodeBlock.removeChild(pincodeBlock.firstChild);
113 }
ygorshenin1 2014/04/25 15:05:08 nit: curly braces are not needed here.
merkulova 2014/04/25 16:24:28 Done.
114 for (var i = 0, len = data['pincode'].length; i < len; i++) {
115 var pincodeSymbol = this.ownerDocument.createElement('div');
116 pincodeSymbol.textContent = data['pincode'][i];
117 pincodeSymbol.classList.add('bluetooth-keyboard-button');
118 $('hid-keyboard-pincode').insertBefore(
119 pincodeSymbol, $('hid-keyboard-pincode-enter'));
120 }
121 }
122 }
123 },
124
125
126 /**
45 * Event handler that is invoked just before the screen in shown. 127 * Event handler that is invoked just before the screen in shown.
46 * @param {Object} data Screen init payload. 128 * @param {Object} data Screen init payload.
47 */ 129 */
48 onBeforeShow: function(data) { 130 onBeforeShow: function(data) {
49 $('hid-continue-button').disabled = true; 131 $('hid-continue-button').disabled = true;
132 this.setDeviceBlockState_('hid-mouse-block', 'searching');
133 this.setDeviceBlockState_('hid-keyboard-block', 'searching');
50 }, 134 },
135
136 addBluetoothDevice: function(device) {
137 // One device can be in the process of pairing. If found, display
ygorshenin1 2014/04/25 15:05:08 Incorrect indentation.
merkulova 2014/04/25 16:24:28 Done.
138 // the Bluetooth pairing overlay.
139 if (device.pairing)
140 this.showPairingLayout(device);
141 },
142
143 /**
144 * Displays the pairing overlay.
145 * @param {Object} device Description of the Bluetooth device.
146 */
147 showPairingLayout: function(device) {
148 BluetoothPairing.getInstance().update(device);
149 OptionsPage.showPageByName('bluetoothPairing', false);
150 },
151
ygorshenin1 2014/04/25 15:05:08 nit: delete a blank line.
merkulova 2014/04/25 16:24:28 Done.
51 }; 152 };
52 }); 153 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698