| Index: ui/events/event_utils.cc
|
| diff --git a/ui/events/event_utils.cc b/ui/events/event_utils.cc
|
| index e5a319e10f15bf0daab6633f98588eb86fd0b272..e4b384a47442200a13e29deb7aefadd74ba297a4 100644
|
| --- a/ui/events/event_utils.cc
|
| +++ b/ui/events/event_utils.cc
|
| @@ -16,6 +16,53 @@ namespace {
|
| int g_custom_event_types = ET_LAST;
|
| } // namespace
|
|
|
| +scoped_ptr<Event> EventFromNative(const base::NativeEvent& native_event) {
|
| + scoped_ptr<Event> event;
|
| + EventType type = EventTypeFromNative(native_event);
|
| + switch(type) {
|
| + case ET_KEY_PRESSED:
|
| + case ET_KEY_RELEASED:
|
| + event.reset(new KeyEvent(native_event, false));
|
| + break;
|
| +
|
| + case ET_TRANSLATED_KEY_PRESS:
|
| + case ET_TRANSLATED_KEY_RELEASE:
|
| + // These should not be generated by native events.
|
| + NOTREACHED();
|
| + break;
|
| +
|
| + case ET_MOUSE_PRESSED:
|
| + case ET_MOUSE_DRAGGED:
|
| + case ET_MOUSE_RELEASED:
|
| + case ET_MOUSE_MOVED:
|
| + case ET_MOUSE_ENTERED:
|
| + case ET_MOUSE_EXITED:
|
| + event.reset(new MouseEvent(native_event));
|
| + break;
|
| +
|
| + case ET_MOUSEWHEEL:
|
| + event.reset(new MouseWheelEvent(native_event));
|
| + break;
|
| +
|
| + case ET_SCROLL_FLING_START:
|
| + case ET_SCROLL_FLING_CANCEL:
|
| + case ET_SCROLL:
|
| + event.reset(new ScrollEvent(native_event));
|
| + break;
|
| +
|
| + case ET_TOUCH_RELEASED:
|
| + case ET_TOUCH_PRESSED:
|
| + case ET_TOUCH_MOVED:
|
| + case ET_TOUCH_CANCELLED:
|
| + event.reset(new TouchEvent(native_event));
|
| + break;
|
| +
|
| + default:
|
| + break;
|
| + }
|
| + return event.Pass();
|
| +}
|
| +
|
| int RegisterCustomEventType() {
|
| return ++g_custom_event_types;
|
| }
|
|
|