Open Bug 1848062 Opened 1 year ago Updated 1 year ago

Need to create a new touch block before sending double-tap gesture events

Categories

(Core :: Panning and Zooming, defect, P3)

Unspecified
macOS
defect

Tracking

()

People

(Reporter: hiro, Unassigned)

References

Details

For double-tap events on Mac we send a double-tap gesture event directly, so if there's a previous touch event block which was prevented double-tap-zoom by specifying touch-action: none or some such, the new incoming doubel-tap gesture events also will be prevented by the stale touch event block.

One of tests I wrote for bug 1715179 added to the last block of this subtests causes timeouts on the next helper_doubletap_zoom_smooth.html?touchpad.

I believe this bug should happen in production, but I could NOT find any bug reports, so for now I will add a workaround in the bug, that is just sending a new touch event in the new test.

(In reply to Hiroyuki Ikezoe (:hiro) from comment #0)

I believe this bug should happen in production, but I could NOT find any bug reports

On Mac, there are no touchscreen devices yet, and on other platforms we don't support touchpad double-tap zoom yet, so I don't think this can currently come up in production.

If it comes up in the future, a proper fix will involve addressing this comment as well. I think the fix will involve having TapGestureInput track whether it came from touch events or a touchpad.

Even if we don't yet support touchscreen, we do send touch gestures triggered by double-tap on touchpad, it will re-use the same touch block, isn't it?

Oops, do I misunderstand what touch-action is supposed to? I should NOT prevent double-tap-to-zoom on touchpad?

Okay, now I understand what Botond means. Without touchscreen we never generate touch block at all. Thus it won't happen in production.

And now I found an interesting spec desctiption;

Note
In some cases, touchpads (like those found on a laptop) will allow the user to scroll by "dragging" on the touchpad. However, this is generally achieved by the touchpad generating "fake" mouse wheel events, so this wouldn't count as a direct manipulation.

Right, touch-action does not currently prevent touchpad double-tap zoom.

The question of whether it should is an interesting one, the spec doesn't seem to say clearly (another section says "direct manipulation interactions (which are not limited to touch, despite the property's name)", suggesting that touchpad double-tap zoom could be covered). It would be interesting to check other browsers' behaviour here and perhaps file a spec issue to clarify.

See Also: → 1849690

(In reply to Botond Ballo [:botond] from comment #5)

Right, touch-action does not currently prevent touchpad double-tap zoom.

The question of whether it should is an interesting one, the spec doesn't seem to say clearly (another section says "direct manipulation interactions (which are not limited to touch, despite the property's name)", suggesting that touchpad double-tap zoom could be covered). It would be interesting to check other browsers' behaviour here and perhaps file a spec issue to clarify.

There is an ongoing spec discussion here: https://github.com/w3c/pointerevents/issues/478

You need to log in before you can comment on or make changes to this bug.