With async (widget level) touch events enabled no `pointermove` event is emitted if delta is too low
Categories
(Core :: DOM: Events, defect)
Tracking
()
People
(Reporter: whimboo, Unassigned)
References
(Blocks 1 open bug)
Details
As seen while working on wpt metadata updates on bug 1857454, there is a regression in the test infrastructure/testdriver/actions/multiTouchPointsTwoTouchStarts.html since async touch events got enabled via bug 1852243.
The reason here is the delta between the current position and the target position. In this case it's 5px vertically. I have to increase the delta to 31px (30px still fails) to make the test passing and the pointermove
event emitted.
To circumvent this problem I'm going to change the test to use 50px
for now. But we should clearly fix that problem. It might be the reason why quite a lot of other wpt tests currently fail or timeout due to a missing event.
Hiro or Masayuki, could one of you please check that? Thanks!
Comment 1•1 year ago
|
||
Henrik, could you please post a link to the failure? Did the failure happen on Android only? At first glance the test HTML doesn't have meta viewport tag so that it gets rendered at < 1.0 zoom level so that the original 5px could be 1.25px on the screen if the HTML gets rendered at 0.25 zoom level. That being said, if it's the reason 30px should just work though.
Comment 2•1 year ago
|
||
Never mind, I found a link in bug 1857966. The failure happens on Linux, FWIW.
And now I realized the test looks odd. It starts with touchmove
without touchstart events. I'd say the test should drop the initial touchmove
s.
Well, the redundant touchmove
does not cause pointermove
because if the touch device is not captured by any element and the coming event is not touchstart
, the event handler stops dispatching pointermove
. However, finally, the legacy event will be fired as-is. So, it might affect some elements, but I guess that it's not related to this because eTouchMove
is not usually handled directly.
On the other hand, I don't find any discarding/coalescing code of touchmove
events around DOM event dispatcher.
Updated•1 year ago
|
Reporter | ||
Comment 4•1 year ago
|
||
Even with my async event patch backed out this can be reproduced when adding prefs: [test.events.async.enabled:true]
at the top of the ini file, and using a value smaller than 31px for the pointermove
after pointerdown
.
Reporter | ||
Updated•1 year ago
|
Reporter | ||
Updated•1 year ago
|
Reporter | ||
Updated•1 year ago
|
Description
•