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

Unified Diff: ui/events/device_data_manager.cc

Issue 618283003: Adds special support to the device manager for keyboards devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: ui/events/device_data_manager.cc
diff --git a/ui/events/device_data_manager.cc b/ui/events/device_data_manager.cc
index d255b871abc80b10082d7408e92e25deafc7cb9a..4a375af325a201f341379b67d38c73104cdcf721 100644
--- a/ui/events/device_data_manager.cc
+++ b/ui/events/device_data_manager.cc
@@ -13,6 +13,20 @@
namespace ui {
+namespace {
+
+bool TouchscreenEquals(const ui::TouchscreenDevice& a,
+ const ui::TouchscreenDevice& b) {
+ return a.id == b.id;
+}
+
+bool KeyboardEquals(const ui::KeyboardDevice& a,
+ const ui::KeyboardDevice& b) {
+ return a.id == b.id;
+}
+
+} // namespace
+
// static
DeviceDataManager* DeviceDataManager::instance_ = NULL;
@@ -111,11 +125,26 @@ int64_t DeviceDataManager::GetDisplayForTouchDevice(int touch_device_id) const {
void DeviceDataManager::OnTouchscreenDevicesUpdated(
const std::vector<TouchscreenDevice>& devices) {
- touchscreen_devices_ = devices;
+ if (devices.size() != touchscreen_devices_.size() ||
+ std::equal(devices.begin(), devices.end(),
flackr 2014/10/04 00:35:12 Did you mean !std::equal(...?
rsadam 2014/10/04 18:46:27 Done.
+ touchscreen_devices_.begin(), TouchscreenEquals)) {
flackr 2014/10/04 00:35:12 nit: indent 4 more (to show it's wrapped from std:
rsadam 2014/10/04 18:46:27 Done.
+ touchscreen_devices_ = devices;
flackr 2014/10/04 00:35:12 Better yet, early return if the device list looks
rsadam 2014/10/04 18:46:27 Done.
+ FOR_EACH_OBSERVER(InputDeviceEventObserver,
+ observers_,
+ OnTouchscreenDeviceConfigurationChanged());
+ }
+}
- FOR_EACH_OBSERVER(InputDeviceEventObserver,
+void DeviceDataManager::OnKeyboardDevicesUpdated(
+ const std::vector<KeyboardDevice>& devices) {
+ if (devices.size() != keyboard_devices_.size() ||
+ std::equal(devices.begin(), devices.end(),
flackr 2014/10/04 00:35:12 ditto, !std::equal?
rsadam 2014/10/04 18:46:27 Done.
+ keyboard_devices_.begin(), KeyboardEquals)) {
flackr 2014/10/04 00:35:12 ditto, indent 4 more or to just past '(' above.
rsadam 2014/10/04 18:46:27 Done.
+ keyboard_devices_ = devices;
+ FOR_EACH_OBSERVER(InputDeviceEventObserver,
observers_,
- OnInputDeviceConfigurationChanged());
+ OnKeyboardDeviceConfigurationChanged());
+ }
}
void DeviceDataManager::AddObserver(InputDeviceEventObserver* observer) {

Powered by Google App Engine
This is Rietveld 408576698