Summary: | touchmove bound to the document during a touchstart listener is not cancelable (default cannot be prevented) | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Anand Thakker <anand.thakker> | ||||
Component: | UI Events | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | NEW --- | ||||||
Severity: | Normal | CC: | ahmad.saleem792, a_protyasha, ap, bfulgham, bugs.webkit.org, cdumez, david.jerleke, dino, herr.ernst, john.firebaugh, mansing.choy, oliverzy, simon.fraser, thorton, toby, webkit-bug-importer, zalan | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | Safari 11 | ||||||
Hardware: | iPhone / iPad | ||||||
OS: | iOS 11 | ||||||
Attachments: |
|
Description
Anand Thakker
2018-04-02 17:48:24 PDT
It's worth noting that this issue arises amidst an attempt to mitigate the breaking change discussed in https://bugs.webkit.org/show_bug.cgi?id=182521. Experiencing the same issue on iOS 11.4.1 Full user agent: Mozilla/5.0 (iPad; CPU OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 Two workarounds: 1) Register a passive event listener on any non-window/document/body element that the event will bubble though. 2) Register the touchmove event listener outside of the touchstart. 3) register the listener with { passive: false } Hi Simon, the touchmove listener is registered with { passive: false } but unfortunately still experiences the behaviour described in this bug. I also tried registering the touchstart event with {passive: false}, but it didn't fix the problem. Mass move bugs into the DOM component. Created attachment 462297 [details]
Testcase (from GitHub with DOCTYPE)
I am not able to reproduce this bug in Safari 16 on iPhone 13 Pro Max (iOS 16) and not able to scroll the page from the body in light green hue area. Appreciate if someone else can confirm as well because I am not too sure on my testing with this test case. Thanks! Experiencing the same problem on iOS 16.4.1. If I try to scroll the page on the light green area, the page scrolls but only sometimes. It’s inconsistent in other words. The easiest way for me to reproduce the bug was to repeatedly do swipe gestures in one direction inside the green area. Eventually, one of the swipe gestures will scroll the page even though it shouldn’t. |