Index: content/browser/renderer_host/input/input_router_impl.cc |
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc |
index e4b4d82ee88c70386cb05acdd3b69a36e78e6a37..60acbd9fa8f67c9014226378a17c1a69513d1263 100644 |
--- a/content/browser/renderer_host/input/input_router_impl.cc |
+++ b/content/browser/renderer_host/input/input_router_impl.cc |
@@ -424,6 +424,13 @@ void InputRouterImpl::OfferToHandlers(const WebInputEvent& input_event, |
bool InputRouterImpl::OfferToOverscrollController( |
const WebInputEvent& input_event, |
const ui::LatencyInfo& latency_info) { |
+#if !defined(OS_MACOSX) |
+ // Ctrl + mousewheel is reserved for zooming on every platform except for Mac. |
+ if (input_event.type == WebInputEvent::MouseWheel && |
+ input_event.modifiers & WebInputEvent::ControlKey) |
+ return false; |
+#endif |
+ |
OverscrollController* controller = client_->GetOverscrollController(); |
if (!controller) |
return false; |
@@ -630,7 +637,14 @@ void InputRouterImpl::ProcessMouseAck(blink::WebInputEvent::Type type, |
void InputRouterImpl::ProcessWheelAck(InputEventAckState ack_result, |
const ui::LatencyInfo& latency) { |
+#if defined(OS_MACOSX) |
ProcessAckForOverscroll(current_wheel_event_.event, ack_result); |
+#else |
+ // Ctrl + mousewheel is reserved for zooming on every platform except for Mac. |
+ if (!(current_wheel_event_.event.modifiers & WebInputEvent::ControlKey)) { |
+ ProcessAckForOverscroll(current_wheel_event_.event, ack_result); |
+ } |
+#endif |
// TODO(miletus): Add renderer side latency to each uncoalesced mouse |
// wheel event and add terminal component to each of them. |