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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.cc

Issue 770563003: HID fix for device info check. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Continue button and icon states set up. Created 6 years 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
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 #include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 bool DeviceIsPointing(const device::InputServiceLinux::InputDeviceInfo& info) { 54 bool DeviceIsPointing(const device::InputServiceLinux::InputDeviceInfo& info) {
55 return info.is_mouse || info.is_touchpad || info.is_touchscreen || 55 return info.is_mouse || info.is_touchpad || info.is_touchscreen ||
56 info.is_tablet; 56 info.is_tablet;
57 } 57 }
58 58
59 bool DeviceIsKeyboard(device::BluetoothDevice::DeviceType device_type) { 59 bool DeviceIsKeyboard(device::BluetoothDevice::DeviceType device_type) {
60 return device_type == device::BluetoothDevice::DEVICE_KEYBOARD || 60 return device_type == device::BluetoothDevice::DEVICE_KEYBOARD ||
61 device_type == device::BluetoothDevice::DEVICE_KEYBOARD_MOUSE_COMBO; 61 device_type == device::BluetoothDevice::DEVICE_KEYBOARD_MOUSE_COMBO;
62 } 62 }
63 63
64 bool DeviceIsKeyboard(const device::InputServiceLinux::InputDeviceInfo& info) {
65 return info.is_keyboard || info.is_touchscreen || info.is_tablet;
ygorshenin1 2014/12/24 09:34:47 I disagree about touchscreen, because presence of
merkulova 2014/12/24 13:47:46 Left to be discussed.
66 }
67
64 } // namespace 68 } // namespace
65 69
66 namespace chromeos { 70 namespace chromeos {
67 71
68 HIDDetectionScreenHandler::HIDDetectionScreenHandler( 72 HIDDetectionScreenHandler::HIDDetectionScreenHandler(
69 CoreOobeActor* core_oobe_actor) 73 CoreOobeActor* core_oobe_actor)
70 : BaseScreenHandler(kJsScreenPath), 74 : BaseScreenHandler(kJsScreenPath),
71 delegate_(NULL), 75 delegate_(NULL),
72 core_oobe_actor_(core_oobe_actor), 76 core_oobe_actor_(core_oobe_actor),
73 show_on_init_(false), 77 show_on_init_(false),
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 input_service_proxy_.AddObserver(this); 120 input_service_proxy_.AddObserver(this);
117 UpdateDevices(); 121 UpdateDevices();
118 122
119 PrefService* local_state = g_browser_process->local_state(); 123 PrefService* local_state = g_browser_process->local_state();
120 int num_of_times_dialog_was_shown = local_state->GetInteger( 124 int num_of_times_dialog_was_shown = local_state->GetInteger(
121 prefs::kTimesHIDDialogShown); 125 prefs::kTimesHIDDialogShown);
122 local_state->SetInteger(prefs::kTimesHIDDialogShown, 126 local_state->SetInteger(prefs::kTimesHIDDialogShown,
123 num_of_times_dialog_was_shown + 1); 127 num_of_times_dialog_was_shown + 1);
124 128
125 ShowScreen(OobeUI::kScreenHIDDetection, NULL); 129 ShowScreen(OobeUI::kScreenHIDDetection, NULL);
126 if (!pointing_device_id_.empty()) 130 SendPointingDeviceNotification();
127 SendPointingDeviceNotification(); 131 SendKeyboardDeviceNotification(NULL);
128 if (!keyboard_device_id_.empty())
129 SendKeyboardDeviceNotification(NULL);
130 } 132 }
131 133
132 void HIDDetectionScreenHandler::Hide() { 134 void HIDDetectionScreenHandler::Hide() {
133 if (adapter_.get()) 135 if (adapter_.get())
134 adapter_->RemoveObserver(this); 136 adapter_->RemoveObserver(this);
135 input_service_proxy_.RemoveObserver(this); 137 input_service_proxy_.RemoveObserver(this);
136 } 138 }
137 139
138 void HIDDetectionScreenHandler::SetDelegate(Delegate* delegate) { 140 void HIDDetectionScreenHandler::SetDelegate(Delegate* delegate) {
139 delegate_ = delegate; 141 delegate_ = delegate;
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 // TODO(merkulova): deal with all available device types, e.g. joystick. 364 // TODO(merkulova): deal with all available device types, e.g. joystick.
363 if (!keyboard_device_id_.empty() && !pointing_device_id_.empty()) 365 if (!keyboard_device_id_.empty() && !pointing_device_id_.empty())
364 return; 366 return;
365 367
366 if (pointing_device_id_.empty() && DeviceIsPointing(info)) { 368 if (pointing_device_id_.empty() && DeviceIsPointing(info)) {
367 pointing_device_id_ = info.id; 369 pointing_device_id_ = info.id;
368 pointing_device_name_ = info.name; 370 pointing_device_name_ = info.name;
369 pointing_device_connect_type_ = info.type; 371 pointing_device_connect_type_ = info.type;
370 SendPointingDeviceNotification(); 372 SendPointingDeviceNotification();
371 } 373 }
372 if (keyboard_device_id_.empty() && info.is_keyboard) { 374 if (keyboard_device_id_.empty() && DeviceIsKeyboard(info)) {
373 keyboard_device_id_ = info.id; 375 keyboard_device_id_ = info.id;
374 keyboard_device_name_ = info.name; 376 keyboard_device_name_ = info.name;
375 keyboard_device_connect_type_ = info.type; 377 keyboard_device_connect_type_ = info.type;
376 SendKeyboardDeviceNotification(NULL); 378 SendKeyboardDeviceNotification(NULL);
377 } 379 }
378 } 380 }
379 381
380 void HIDDetectionScreenHandler::OnInputDeviceRemoved(const std::string& id) { 382 void HIDDetectionScreenHandler::OnInputDeviceRemoved(const std::string& id) {
381 if (id == keyboard_device_id_) { 383 if (id == keyboard_device_id_) {
382 keyboard_device_id_.clear(); 384 keyboard_device_id_.clear();
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 l10n_util::GetStringFUTF16( 583 l10n_util::GetStringFUTF16(
582 IDS_HID_DETECTION_PAIRED_BLUETOOTH_KEYBOARD, 584 IDS_HID_DETECTION_PAIRED_BLUETOOTH_KEYBOARD,
583 base::UTF8ToUTF16(keyboard_device_name_))); 585 base::UTF8ToUTF16(keyboard_device_name_)));
584 } else { 586 } else {
585 state_info.SetString("state", kUSBConnectedState); 587 state_info.SetString("state", kUSBConnectedState);
586 } 588 }
587 CallJS("setKeyboardDeviceState", state_info); 589 CallJS("setKeyboardDeviceState", state_info);
588 } 590 }
589 591
590 } // namespace chromeos 592 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698