Bug 250792

Summary: Undo/redo triggered with 3-finger gestures even after preventDefault() has been called on touch* events
Product: WebKit Reporter: Yuwei <yuweih>
Component: UI EventsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: richard_robinson2, thorton, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: iPhone / iPad   
OS: iOS 16   

Description Yuwei 2023-01-18 14:00:47 PST
Repro step:

1. Go to the demo page: https://jsfiddle.net/s0cft7v1/1/show
2. Type something on the input box
2. Do three-finger swipes and observe

Expected:

Nothing happens.

Actual:

The undo/redo tooltip shows up. The text is changing in the input box

---

The demo page (edit mode: https://jsfiddle.net/s0cft7v1/1) simply has an input box and a big div below. The div has these event handlers:

```
el.addEventListener('touchstart', (ev) => {ev.preventDefault();});
el.addEventListener('touchmove', (ev) => {ev.preventDefault();});
el.addEventListener('touchend', (ev) => {ev.preventDefault();});
```

Given that this does prevent the browser from zooming the page when the user performs two-finger zoom gestures, I would also expect that the browser wouldn't handle three-finger gestures.
Comment 1 Radar WebKit Bug Importer 2023-01-25 14:01:20 PST
<rdar://problem/104664887>