When a UA gesture starts, we should dispatch a pointercancel event and stop dispatching more pointer events for all of the touch identifiers involved in that gesture.
<rdar://problem/47629134>
Created attachment 360774 [details] Patch
Comment on attachment 360774 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=360774&action=review > Source/WebCore/ChangeLog:11 > + has been cancelled, which is important because a cancelled pointer should no longer dispatch any further pointer events, and > + to cancel a pointer. did you mean cancel the capture? > Source/WebCore/dom/PointerEvent.h:59 > + static Ref<PointerEvent> create(const AtomicString& type, int32_t pointerId, String pointerType) We really need PointerID to be a type somewhere. > Source/WebCore/page/PointerCaptureController.h:59 > + String pointerType; This should be an enum by this point. It probably should be an enum on PointerEvent too.
(In reply to Dean Jackson from comment #3) > Comment on attachment 360774 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=360774&action=review > > > Source/WebCore/ChangeLog:11 > > + has been cancelled, which is important because a cancelled pointer should no longer dispatch any further pointer events, and > > + to cancel a pointer. > > did you mean cancel the capture? No, there is one new method to check whether a pointer has been cancelled, and one to cancel it. > > Source/WebCore/dom/PointerEvent.h:59 > > + static Ref<PointerEvent> create(const AtomicString& type, int32_t pointerId, String pointerType) > > We really need PointerID to be a type somewhere. Agreed. What's the best way to achieve this? > > Source/WebCore/page/PointerCaptureController.h:59 > > + String pointerType; > > This should be an enum by this point. It probably should be an enum on > PointerEvent too. I'd like to address this as a followup.
Committed r240875: <https://trac.webkit.org/changeset/240875>
Mass move bugs into the DOM component.
I have been experiencing exactly this issue on iOS (13 and 14) (iPad Pro) for a while. When I start panning (scrolling) an overflown list, "pointerdown" is fired but there is no subsequent "pointercancel". This page demonstrates the problem: https://abiding-vigorous-bill.glitch.me/
(In reply to Samuel from comment #7) > I have been experiencing exactly this issue on iOS (13 and 14) (iPad Pro) > for a while. When I start panning (scrolling) an overflown list, > "pointerdown" is fired but there is no subsequent "pointercancel". > > This page demonstrates the problem: > > https://abiding-vigorous-bill.glitch.me/ Forget about this comment. My mistake.