Index: ui/events/x/events_x.cc |
diff --git a/ui/events/x/events_x.cc b/ui/events/x/events_x.cc |
index b03af6b484ad35fe66644d6e87a97f993c6161a4..32b4b7ee311159fb877b37f1b0ad45016e9cfe8e 100644 |
--- a/ui/events/x/events_x.cc |
+++ b/ui/events/x/events_x.cc |
@@ -461,8 +461,21 @@ gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) { |
case GenericEvent: { |
XIDeviceEvent* xievent = |
static_cast<XIDeviceEvent*>(native_event->xcookie.data); |
- return gfx::Point(static_cast<int>(xievent->event_x), |
- static_cast<int>(xievent->event_y)); |
+ float x = xievent->event_x; |
+ float y = xievent->event_y; |
+#if defined(OS_CHROMEOS) |
+ switch (xievent->evtype) { |
+ case XI_TouchBegin: |
+ case XI_TouchUpdate: |
+ case XI_TouchEnd: |
+ ui::DeviceDataManager::GetInstance()->ApplyTouchTransformer( |
+ xievent->deviceid, &x, &y); |
+ break; |
+ default: |
+ break; |
+ } |
+#endif // defined(OS_CHROMEOS) |
+ return gfx::Point(static_cast<int>(x), static_cast<int>(y)); |
} |
} |
return gfx::Point(); |