Index: content/renderer/input/input_handler_proxy.cc |
diff --git a/content/renderer/input/input_handler_proxy.cc b/content/renderer/input/input_handler_proxy.cc |
index 2793576bd3989fda204ba550ad3a516539bd8691..6172e601cfc4797ec568561b160756c8bcbdfd41 100644 |
--- a/content/renderer/input/input_handler_proxy.cc |
+++ b/content/renderer/input/input_handler_proxy.cc |
@@ -250,7 +250,10 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleInputEvent( |
} |
return DROP_EVENT; |
} else if (WebInputEvent::isKeyboardEventType(event.type)) { |
- CancelCurrentFling(true); |
+ // Only call |CancelCurrentFling()| if a fling was active, as it will |
+ // otherwise disrupt an in-progress touch scroll. |
+ if (fling_curve_) |
+ CancelCurrentFling(true); |
} else if (event.type == WebInputEvent::MouseMove) { |
const WebMouseEvent& mouse_event = |
*static_cast<const WebMouseEvent*>(&event); |