| 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);
|
| }
|
|
|