Index: Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp |
diff --git a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp |
index 87d7b2522e9c696b2a5b1db3cba1b48684db2f75..f6e53582321337e3ab4400164988ff134bafc931 100644 |
--- a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp |
+++ b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp |
@@ -119,9 +119,9 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h |
switch (scrollStatus) { |
case WebInputHandlerClient::ScrollStatusStarted: { |
TRACE_EVENT_INSTANT2("cc", "WebCompositorInputHandlerImpl::handleInput wheel scroll", "deltaX", -wheelEvent.deltaX, "deltaY", -wheelEvent.deltaY); |
- m_inputHandlerClient->scrollBy(WebPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY)); |
+ bool didScroll = m_inputHandlerClient->scrollBy(WebPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY)); |
m_inputHandlerClient->scrollEnd(); |
- return DidHandle; |
+ return didScroll ? DidHandle : DropEvent; |
} |
case WebInputHandlerClient::ScrollStatusIgnored: |
// FIXME: This should be DropEvent, but in cases where we fail to properly sync scrollability it's safer to send the |
@@ -154,9 +154,9 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h |
return DidNotHandle; |
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event); |
- m_inputHandlerClient->scrollBy(WebPoint(gestureEvent.x, gestureEvent.y), |
+ bool didScroll = m_inputHandlerClient->scrollBy(WebPoint(gestureEvent.x, gestureEvent.y), |
IntSize(-gestureEvent.data.scrollUpdate.deltaX, -gestureEvent.data.scrollUpdate.deltaY)); |
- return DidHandle; |
+ return didScroll ? DidHandle : DropEvent; |
} else if (event.type == WebInputEvent::GestureScrollEnd) { |
ASSERT(m_expectScrollUpdateEnd); |
#ifndef NDEBUG |