RESOLVED FIXED 174300
[WK2] Ignore touch events that interrupt platform-driven momentum scrolling
https://bugs.webkit.org/show_bug.cgi?id=174300
Summary [WK2] Ignore touch events that interrupt platform-driven momentum scrolling
Wenson Hsieh
Reported 2017-07-09 13:44:49 PDT
In https://trac.webkit.org/r211197, we decreased the scroll deceleration rate in web content to match the rest of the iOS platform. However, due to the much longer duration of the momentum scrolling phase, many users are tapping during momentum scrolling to stop scroll deceleration -- this, in turn, leads to many unwanted or accidental taps in web content on pages such as images.google.com. One potential way to resolve this is to prevent touches that interrupt momentum scrolling from propagating DOM touch events.
Attachments
First pass (32.73 KB, patch)
2017-07-09 15:54 PDT, Wenson Hsieh
simon.fraser: review+
Patch for landing (32.84 KB, patch)
2017-07-10 12:27 PDT, Wenson Hsieh
no flags
Address post-review feedback (17.17 KB, patch)
2017-07-10 21:14 PDT, Wenson Hsieh
no flags
Address post-review feedback (16.37 KB, patch)
2017-07-10 21:39 PDT, Wenson Hsieh
no flags
Wenson Hsieh
Comment 1 2017-07-09 13:47:19 PDT
Wenson Hsieh
Comment 2 2017-07-09 15:54:55 PDT
Created attachment 314957 [details] First pass
Simon Fraser (smfr)
Comment 3 2017-07-10 11:30:56 PDT
Comment on attachment 314957 [details] First pass View in context: https://bugs.webkit.org/attachment.cgi?id=314957&action=review > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4058 > +// FIXME: Remove once -gestureRecognizer:shouldIgnoreWebTouchWithEvent: is in UIWebTouchEventsGestureRecognizer.h. Would be nice to have a radar number here. > Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4067 > + NSSet<UITouch *> *webTouches = [event touchesForGestureRecognizer:gestureRecognizer]; > + for (UITouch *webTouch in webTouches) { I think "webTouches" and "webTouch" could just be "touches" and "touch".
Wenson Hsieh
Comment 4 2017-07-10 12:14:58 PDT
Comment on attachment 314957 [details] First pass View in context: https://bugs.webkit.org/attachment.cgi?id=314957&action=review Thanks Simon! >> Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4058 >> +// FIXME: Remove once -gestureRecognizer:shouldIgnoreWebTouchWithEvent: is in UIWebTouchEventsGestureRecognizer.h. > > Would be nice to have a radar number here. 👍 included a radar here. >> Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4067 >> + for (UITouch *webTouch in webTouches) { > > I think "webTouches" and "webTouch" could just be "touches" and "touch". Done.
Wenson Hsieh
Comment 5 2017-07-10 12:27:29 PDT
Created attachment 315008 [details] Patch for landing
WebKit Commit Bot
Comment 6 2017-07-10 15:08:42 PDT
Comment on attachment 315008 [details] Patch for landing Clearing flags on attachment: 315008 Committed r219310: <http://trac.webkit.org/changeset/219310>
Wenson Hsieh
Comment 7 2017-07-10 21:14:39 PDT
Created attachment 315073 [details] Address post-review feedback
Wenson Hsieh
Comment 8 2017-07-10 21:39:52 PDT
Created attachment 315076 [details] Address post-review feedback
WebKit Commit Bot
Comment 9 2017-07-11 10:55:24 PDT
Comment on attachment 315076 [details] Address post-review feedback Clearing flags on attachment: 315076 Committed r219340: <http://trac.webkit.org/changeset/219340>
Note You need to log in before you can comment on or make changes to this bug.