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

Unified Diff: Source/web/WebViewImpl.cpp

Issue 1052433003: Allow postponed rail application for touch scrolling - blink side. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix broken test. Created 5 years, 9 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: Source/web/WebViewImpl.cpp
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp
index 48c5120e1a3c90d399edb2a6627479408dac94e3..4a63ac74c3a854cf766c3f7e1bfa9d5bd60b924a 100644
--- a/Source/web/WebViewImpl.cpp
+++ b/Source/web/WebViewImpl.cpp
@@ -666,6 +666,7 @@ bool WebViewImpl::scrollBy(const WebFloatSize& delta, const WebFloatSize& veloci
syntheticGestureEvent.modifiers = m_flingModifier;
syntheticGestureEvent.sourceDevice = WebGestureDeviceTouchscreen;
syntheticGestureEvent.data.scrollUpdate.inertial = true;
+ syntheticGestureEvent.data.scrollUpdate.railsMode = m_railStateOnFlingStart;
if (m_page && m_page->mainFrame() && m_page->mainFrame()->isLocalFrame() && m_page->deprecatedLocalMainFrame()->view())
return handleGestureEvent(syntheticGestureEvent);
@@ -689,6 +690,7 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
m_client->cancelScheduledContentIntents();
m_positionOnFlingStart = WebPoint(event.x, event.y);
m_globalPositionOnFlingStart = WebPoint(event.globalX, event.globalY);
+ m_railStateOnFlingStart = event.data.flingStart.railsMode;
m_flingModifier = event.modifiers;
m_flingSourceDevice = event.sourceDevice;
OwnPtr<WebGestureCurve> flingCurve = adoptPtr(Platform::current()->createFlingAnimationCurve(event.sourceDevice, WebFloatPoint(event.data.flingStart.velocityX, event.data.flingStart.velocityY), WebSize()));
@@ -1895,7 +1897,8 @@ void WebViewImpl::beginFrame(const WebBeginFrameArgs& frameTime)
PlatformGestureEvent endScrollEvent(PlatformEvent::GestureScrollEnd,
m_positionOnFlingStart, m_globalPositionOnFlingStart,
IntSize(), 0, false, false, false, false);
- endScrollEvent.setScrollGestureData(0, 0, 0, 0, true, false);
+ endScrollEvent.setScrollGestureData(0, 0, 0, 0, true, false,
+ PlatformEvent::RailsModeFree);
mainFrameImpl()->frame()->eventHandler().handleGestureScrollEnd(endScrollEvent);
}

Powered by Google App Engine
This is Rietveld 408576698