Commit e6420d17 authored by Dave Tapuska's avatar Dave Tapuska Committed by Commit Bot

Suppress undefined WebInputEvent types sent to renderer.

Mojo requires event types to not be undefined. There appear to be a few
cases on Android where undefined types are possibly sent to the renderer.

I hope this addresses the crash as the stack traces don't appear to be
very good.

BUG=791986

Change-Id: Ibdd76a47b7ecd19fa91ee43d4200e3140407d187
Reviewed-on: https://chromium-review.googlesource.com/820230Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523184}
parent 6804febf
...@@ -1033,6 +1033,9 @@ bool RenderWidgetHostViewAndroid::OnTouchEvent( ...@@ -1033,6 +1033,9 @@ bool RenderWidgetHostViewAndroid::OnTouchEvent(
blink::WebTouchEvent web_event = ui::CreateWebTouchEventFromMotionEvent( blink::WebTouchEvent web_event = ui::CreateWebTouchEventFromMotionEvent(
event, result.moved_beyond_slop_region); event, result.moved_beyond_slop_region);
if (web_event.GetType() == blink::WebInputEvent::kUndefined)
return false;
ui::LatencyInfo latency_info(ui::SourceEventType::TOUCH); ui::LatencyInfo latency_info(ui::SourceEventType::TOUCH);
latency_info.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); latency_info.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0);
if (host_->delegate()->GetInputEventRouter()) { if (host_->delegate()->GetInputEventRouter()) {
...@@ -1911,6 +1914,9 @@ void RenderWidgetHostViewAndroid::SendMouseEvent( ...@@ -1911,6 +1914,9 @@ void RenderWidgetHostViewAndroid::SendMouseEvent(
blink::WebInputEvent::Type webMouseEventType = blink::WebInputEvent::Type webMouseEventType =
ui::ToWebMouseEventType(motion_event.GetAction()); ui::ToWebMouseEventType(motion_event.GetAction());
if (webMouseEventType == blink::WebInputEvent::kUndefined)
return;
if (webMouseEventType == blink::WebInputEvent::kMouseDown) if (webMouseEventType == blink::WebInputEvent::kMouseDown)
UpdateMouseState(action_button, motion_event.GetX(0), motion_event.GetY(0)); UpdateMouseState(action_button, motion_event.GetX(0), motion_event.GetY(0));
...@@ -1987,8 +1993,10 @@ void RenderWidgetHostViewAndroid::SendGestureEvent( ...@@ -1987,8 +1993,10 @@ void RenderWidgetHostViewAndroid::SendGestureEvent(
if (overscroll_controller_) if (overscroll_controller_)
overscroll_controller_->Enable(); overscroll_controller_->Enable();
if (!host_ || !host_->delegate()) if (!host_ || !host_->delegate() ||
event.GetType() == blink::WebInputEvent::kUndefined) {
return; return;
}
// We let the touch selection controller see gesture events here, since they // We let the touch selection controller see gesture events here, since they
// may be routed and not make it to FilterInputEvent(). // may be routed and not make it to FilterInputEvent().
......
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