Index: ui/events/x/events_x.cc |
diff --git a/ui/events/x/events_x.cc b/ui/events/x/events_x.cc |
index 9fec9df2bf9bcf18d5f9947a3d96e0c4229a8662..1ab01710573a881e01fd80015f843f12a3a4fcc5 100644 |
--- a/ui/events/x/events_x.cc |
+++ b/ui/events/x/events_x.cc |
@@ -434,8 +434,24 @@ 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) |
+ ui::EventType type = ui::EventTypeFromNative(native_event); |
+ switch (type) { |
sadrul
2014/03/15 19:32:51
Let's do this for xievent->evtype == XI_Touch* eve
Yufeng Shen (Slow to review)
2014/04/29 20:34:18
Done.
|
+ case ui::ET_TOUCH_MOVED: |
+ case ui::ET_TOUCH_PRESSED: |
+ case ui::ET_TOUCH_CANCELLED: |
+ case ui::ET_TOUCH_RELEASED: { |
+ ui::DeviceDataManager::GetInstance()->ApplyTouchCTM( |
+ 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(); |