Commit 40b0d46d authored by andresantoso's avatar andresantoso Committed by Commit bot

MacViews: Fix crash when EventMonitorMac receives a system defined event.

EventFromNative() returns null when given a system defined event, so filter them
out when monitoring the event stream.
When running the experimental MacViews browser, I was seeing an event
with type=SysDefined subtype=7 (apparently it means that a mouse button
state has changed).

BUG=425229

Review URL: https://codereview.chromium.org/981693002

Cr-Commit-Position: refs/heads/master@{#319142}
parent 3077ee89
......@@ -52,9 +52,10 @@ EventType EventTypeFromNative(const base::NativeEvent& native_event) {
return ET_MOUSE_EXITED;
case NSEventTypeSwipe:
return ET_SCROLL_FLING_START;
case NSFlagsChanged:
case NSAppKitDefined:
case NSSystemDefined:
return ET_UNKNOWN;
case NSFlagsChanged:
case NSApplicationDefined:
case NSPeriodic:
case NSCursorUpdate:
......
......@@ -42,7 +42,8 @@ EventMonitorMac::EventMonitorMac(ui::EventHandler* event_handler,
handler:^NSEvent*(NSEvent* event) {
if (!target_window || [event window] == target_window) {
scoped_ptr<ui::Event> ui_event = ui::EventFromNative(event);
event_handler->OnEvent(ui_event.get());
if (ui_event)
event_handler->OnEvent(ui_event.get());
}
return event;
}];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment