From 4032ed30d0df7f78fde3da3725f8aa3759493e4c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 20 Sep 2018 17:45:21 -0700 Subject: browser_plugin_wheel.patch diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc index 4d8251069ae9..fbd5cc809962 100644 --- a/content/renderer/browser_plugin/browser_plugin.cc +++ b/content/renderer/browser_plugin/browser_plugin.cc @@ -656,15 +656,11 @@ blink::WebInputEventResult BrowserPlugin::HandleInputEvent( DCHECK(!blink::WebInputEvent::IsTouchEventType(event.GetType())); - // With direct event routing turned on, BrowserPlugin should almost never - // see wheel events any more. The two exceptions are (1) scroll bubbling, and - // (2) synthetic mouse wheels generated by touchpad GesturePinch events on - // Mac, which always go to the mainframe and thus may hit BrowserPlugin if - // it's in a top-level embedder. In both cases we should indicate the event - // as not handled (for GesturePinch on Mac, indicating the event has been - // handled leads to touchpad pinch not working). - if (event.GetType() == blink::WebInputEvent::kMouseWheel) - return blink::WebInputEventResult::kNotHandled; + if (event.GetType() == blink::WebInputEvent::kMouseWheel) { + auto wheel_event = static_cast(event); + if (wheel_event.resending_plugin_id == browser_plugin_instance_id_) + return blink::WebInputEventResult::kNotHandled; + } if (blink::WebInputEvent::IsGestureEventType(event.GetType())) { auto gesture_event = static_cast(event); -- 2.17.0