| Index: ui/base/x/events_x.cc
|
| diff --git a/ui/base/x/events_x.cc b/ui/base/x/events_x.cc
|
| index fa55e5da619f58dfb501108934c8219678641658..2736a76a03990e23e00bff85efd78a894de33309 100644
|
| --- a/ui/base/x/events_x.cc
|
| +++ b/ui/base/x/events_x.cc
|
| @@ -684,12 +684,13 @@ EventType EventTypeFromNative(const base::NativeEvent& native_event) {
|
| bool is_cancel;
|
| if (GetFlingData(native_event, &vx, &vy, &is_cancel)) {
|
| return is_cancel ? ET_SCROLL_FLING_CANCEL : ET_SCROLL_FLING_START;
|
| - } else if (GetScrollOffsets(native_event, NULL, NULL))
|
| + } else if (GetScrollOffsets(native_event, NULL, NULL)) {
|
| return ET_SCROLL;
|
| - else if (GetButtonMaskForX2Event(xievent)) {
|
| + } else if (GetButtonMaskForX2Event(xievent)) {
|
| return ET_MOUSE_DRAGGED;
|
| - } else
|
| + } else {
|
| return ET_MOUSE_MOVED;
|
| + }
|
| }
|
| }
|
| }
|
| @@ -834,6 +835,28 @@ gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) {
|
| return gfx::Point();
|
| }
|
|
|
| +gfx::Point EventSystemLocationFromNative(
|
| + const base::NativeEvent& native_event) {
|
| + switch (native_event->type) {
|
| + case ButtonPress:
|
| + case ButtonRelease: {
|
| + return gfx::Point(native_event->xbutton.x_root,
|
| + native_event->xbutton.y_root);
|
| + }
|
| + case MotionNotify: {
|
| + return gfx::Point(native_event->xmotion.x_root,
|
| + native_event->xmotion.y_root);
|
| + }
|
| + case GenericEvent: {
|
| + XIDeviceEvent* xievent =
|
| + static_cast<XIDeviceEvent*>(native_event->xcookie.data);
|
| + return gfx::Point(xievent->root_x, xievent->root_y);
|
| + }
|
| + }
|
| +
|
| + return gfx::Point();
|
| +}
|
| +
|
| int EventButtonFromNative(const base::NativeEvent& native_event) {
|
| CHECK_EQ(GenericEvent, native_event->type);
|
| XIDeviceEvent* xievent =
|
|
|