Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Unified Diff: content/browser/renderer_host/web_input_event_aura.cc

Issue 835523006: Explicitly suppress scrolling for wheel events that will trigger zooming (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add DCHECK Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/web_input_event_aura.cc
diff --git a/content/browser/renderer_host/web_input_event_aura.cc b/content/browser/renderer_host/web_input_event_aura.cc
index c4a766a8d1e3191c298ce3e329fbb64892bbec20..76bdbf13493d80ef3e582ec751ee53a3dca8948f 100644
--- a/content/browser/renderer_host/web_input_event_aura.cc
+++ b/content/browser/renderer_host/web_input_event_aura.cc
@@ -193,14 +193,23 @@ blink::WebMouseWheelEvent MakeWebMouseWheelEvent(
webkit_event.globalX = root_point.x();
webkit_event.globalY = root_point.y();
+ // Scroll events generated from the mouse wheel when the control key is held
+ // don't trigger scrolling. Instead, they may cause zooming.
+ bool from_mouse_wheel = !webkit_event.hasPreciseScrollingDeltas;
+ if ((webkit_event.modifiers & blink::WebInputEvent::ControlKey) &&
+ from_mouse_wheel) {
+ webkit_event.canScroll = false;
+ }
+
return webkit_event;
}
blink::WebMouseWheelEvent MakeWebMouseWheelEvent(const ui::ScrollEvent& event) {
#if defined(OS_WIN)
// Construct an untranslated event from the platform event data.
- blink::WebMouseWheelEvent webkit_event =
- MakeUntranslatedWebMouseWheelEventFromNativeEvent(event.native_event());
+ blink::WebMouseWheelEvent webkit_event = event.native_event().message ?
+ MakeUntranslatedWebMouseWheelEventFromNativeEvent(event.native_event()) :
+ MakeWebMouseWheelEventFromAuraEvent(event);
#else
blink::WebMouseWheelEvent webkit_event =
MakeWebMouseWheelEventFromAuraEvent(event);

Powered by Google App Engine
This is Rietveld 408576698