WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
193962
Dispatch pointercancel events when content is panned or zoomed on iOS
https://bugs.webkit.org/show_bug.cgi?id=193962
Summary
Dispatch pointercancel events when content is panned or zoomed on iOS
Antoine Quint
Reported
2019-01-29 04:07:39 PST
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.
Attachments
Patch
(32.95 KB, patch)
2019-01-31 14:05 PST
,
Antoine Quint
dino
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-01-29 04:08:00 PST
<
rdar://problem/47629134
>
Antoine Quint
Comment 2
2019-01-31 14:05:39 PST
Created
attachment 360774
[details]
Patch
Dean Jackson
Comment 3
2019-01-31 14:30:25 PST
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.
Antoine Quint
Comment 4
2019-01-31 14:32:58 PST
(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.
Antoine Quint
Comment 5
2019-02-01 13:53:58 PST
Committed
r240875
: <
https://trac.webkit.org/changeset/240875
>
Lucas Forschler
Comment 6
2019-02-06 09:18:46 PST
Mass move bugs into the DOM component.
Samuel
Comment 7
2020-11-18 07:33:45 PST
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/
Samuel
Comment 8
2020-11-24 23:06:00 PST
(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.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug