| Index: Source/web/WebViewImpl.cpp | 
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp | 
| index 5312dcdbdfd33254c2ee3bda5d186fc542e7e017..60316bd510b820d429b220340cc748edf3f648f6 100644 | 
| --- a/Source/web/WebViewImpl.cpp | 
| +++ b/Source/web/WebViewImpl.cpp | 
| @@ -653,18 +653,22 @@ bool WebViewImpl::scrollBy(const WebFloatSize& delta, const WebFloatSize& veloci | 
| if (m_page && m_page->mainFrame() && m_page->mainFrame()->isLocalFrame() && m_page->deprecatedLocalMainFrame()->view()) | 
| return handleMouseWheel(*m_page->deprecatedLocalMainFrame(), syntheticWheel); | 
| } else { | 
| +        m_lastScrollVelocity = velocity; | 
| WebGestureEvent syntheticGestureEvent; | 
|  | 
| syntheticGestureEvent.type = WebInputEvent::GestureScrollUpdate; | 
| syntheticGestureEvent.data.scrollUpdate.preventPropagation = true; | 
| syntheticGestureEvent.data.scrollUpdate.deltaX = delta.width; | 
| syntheticGestureEvent.data.scrollUpdate.deltaY = delta.height; | 
| +        syntheticGestureEvent.data.scrollUpdate.velocityX = velocity.width; | 
| +        syntheticGestureEvent.data.scrollUpdate.velocityY = velocity.height; | 
| syntheticGestureEvent.x = m_positionOnFlingStart.x; | 
| syntheticGestureEvent.y = m_positionOnFlingStart.y; | 
| syntheticGestureEvent.globalX = m_globalPositionOnFlingStart.x; | 
| syntheticGestureEvent.globalY = m_globalPositionOnFlingStart.y; | 
| syntheticGestureEvent.modifiers = m_flingModifier; | 
| syntheticGestureEvent.sourceDevice = WebGestureDeviceTouchscreen; | 
| +        syntheticGestureEvent.data.scrollUpdate.inertial = true; | 
|  | 
| if (m_page && m_page->mainFrame() && m_page->mainFrame()->isLocalFrame() && m_page->deprecatedLocalMainFrame()->view()) | 
| return handleGestureEvent(syntheticGestureEvent); | 
| @@ -1935,7 +1939,8 @@ void WebViewImpl::beginFrame(const WebBeginFrameArgs& frameTime) | 
| PlatformGestureEvent endScrollEvent(PlatformEvent::GestureScrollEnd, | 
| m_positionOnFlingStart, m_globalPositionOnFlingStart, | 
| IntSize(), 0, false, false, false, false, | 
| -                0, 0, 0, 0, false); | 
| +                0, 0, m_lastScrollVelocity.width, m_lastScrollVelocity.height, false, true); | 
| +            m_lastScrollVelocity = FloatSize(0, 0); | 
|  | 
| mainFrameImpl()->frame()->eventHandler().handleGestureScrollEnd(endScrollEvent); | 
| } | 
|  |