Chromium Code Reviews| Index: ui/events/event_utils.cc |
| diff --git a/ui/events/event_utils.cc b/ui/events/event_utils.cc |
| index e5a319e10f15bf0daab6633f98588eb86fd0b272..037958f51f3635daedc547835991e4ad3c262d29 100644 |
| --- a/ui/events/event_utils.cc |
| +++ b/ui/events/event_utils.cc |
| @@ -16,6 +16,52 @@ 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: |
| + event.reset(new TranslatedKeyEvent(native_event, false)); |
|
sadrul
2014/05/15 21:53:01
I think this should be a NOTREACHED() (the transla
flackr
2014/05/15 22:13:01
Done.
|
| + 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; |
| } |