summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-04-16 14:06:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-04-22 22:17:44 +0200
commitf36ae86ec88bb756da93992bdd12f0fe596f2263 (patch)
tree35be6c1b0749c568131bf3c4247b8242ac81dfee /src/core/render_widget_host_view_qt.cpp
parent7bae846e71ef168f8c9160298eeac1f6bc793d39 (diff)
Forward unhandled scroll events
Fixes a regression in webengine stealing all wheel events. Fixes: QTBUG-81322 Change-Id: I0176627f3e13d97f55162f70fc7a969f98f4f444 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/render_widget_host_view_qt.cpp')
-rw-r--r--src/core/render_widget_host_view_qt.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index 5887b356e..e90b5e42b 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -1530,7 +1530,21 @@ void RenderWidgetHostViewQt::WheelEventAck(const blink::WebMouseWheelEvent &even
m_mouseWheelPhaseHandler.AddPhaseIfNeededAndScheduleEndEvent(webEvent, false);
host()->ForwardWheelEvent(webEvent);
}
- // TODO: We could forward unhandled wheelevents to our parent.
+}
+
+void RenderWidgetHostViewQt::GestureEventAck(const blink::WebGestureEvent &event, content::InputEventAckState ack_result)
+{
+ // Forward unhandled scroll events back as wheel events
+ if (event.GetType() != blink::WebInputEvent::kGestureScrollUpdate)
+ return;
+ switch (ack_result) {
+ case content::INPUT_EVENT_ACK_STATE_NOT_CONSUMED:
+ case content::INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS:
+ WebEventFactory::sendUnhandledWheelEvent(event, delegate());
+ break;
+ default:
+ break;
+ }
}
content::MouseWheelPhaseHandler *RenderWidgetHostViewQt::GetMouseWheelPhaseHandler()