[Webkit-unassigned] [Bug 246313] New: The second pointerdown/touchstart event is missing on double-tap gesture

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 10 19:39:17 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=246313

            Bug ID: 246313
           Summary: The second pointerdown/touchstart event is missing on
                    double-tap gesture
           Product: WebKit
           Version: Safari 16
          Hardware: iPhone / iPad
                OS: iOS 16
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: UI Events
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: weijarz at gmail.com

To reproduce:

https://www.oxyry.com/test/safari-double-tap-bug/safari-double-tap-bug.html

1. Open the url in safari
2. Add this webpage to Home Screen (REQUIRED!!!)
3. Open this webpage from Home Screen icon.
4. Double tap black area, only one pointerdown/touchstart event will be triggered!

Note: Open it in Safari browser is working properly.


Full source:
```
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0">
    <title>Safari double tap bug</title>

    <link rel="manifest" href="manifest.json">

    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="default">

    <style>
      #rootEl {
        height: 70vh;
        overflow: auto;
        background: #000;
        color: #fff;
        /* touch-action: none; */
        user-select: none;
      }
    </style>
  </head>
  <body>
    <div>
      <div id="rootEl"></div>
      <p id="btns">
        <button id="clearBtn">Clear</button>
        <button id="reloadBtn">Reload</button>
      </p>
    </div>
    <script>
      clearBtn.onclick = () => { rootEl.innerHTML = ''; }
      reloadBtn.onclick =  () => { location.reload(); }

      const log = (msg) => {
        const m = document.createElement('div')
        m.textContent = msg
        rootEl.appendChild(m)
      }

      let i = 0
      rootEl.addEventListener('pointerdown', () => {
        log(`pointerdown #${i++}`)
      })

      let j = 0
      rootEl.addEventListener('touchstart', (ev) => {
        log(`touchstart #${j++}`)
        // ev.preventDefault()
      })
    </script>
  </body>
</html>

```

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20221011/c0091fe1/attachment.htm>


More information about the webkit-unassigned mailing list