<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - touchcancel not fired when context menu shown, touchmove/touchend still fired at document"
   href="https://bugs.webkit.org/show_bug.cgi?id=153064">153064</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>touchcancel not fired when context menu shown, touchmove/touchend still fired at document
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>Safari 9
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>URL</th>
          <td>http://patrickhlauke.github.io/touch/tests/event-listener_link.html
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>iOS 9.0
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P3
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>HTML Events
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>redux&#64;splintered.co.uk
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>benjamin&#64;webkit.org, dino&#64;apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=268867" name="attach_268867" title="Demonstration of issue using tappy.js">attachment 268867</a> <a href="attachment.cgi?id=268867&amp;action=edit" title="Demonstration of issue using tappy.js">[details]</a></span>
Demonstration of issue using tappy.js

When the Safari context menu (e.g. for links) is shown, it seems that events such as touchmove and touchend are still fired to the underlying page, rather than touchcancel. This can result in unexpected behavior if listening for, say, touchend on a link (see <a href="https://github.com/filamentgroup/tappy/issues/29">https://github.com/filamentgroup/tappy/issues/29</a> and the related video <a href="https://www.youtube.com/watch?v=P_YJe1MQ4m8">https://www.youtube.com/watch?v=P_YJe1MQ4m8</a>)

Steps to Reproduce:

1. visit <a href="http://patrickhlauke.github.io/touch/tests/event-listener_link.html">http://patrickhlauke.github.io/touch/tests/event-listener_link.html</a>
2. long-press on the &quot;Test button!&quot; link
3. context menu appears

Actual result:

- as long as the finger remains in contact with the touchscreen when the context menu appears, it is still possible to scroll/interact with the underlying document; touchmove events are fired; lifting the finger off the screen (to interact with the context menu options) fires touchend - see <a href="https://www.youtube.com/watch?v=oggIAZ9uHug">https://www.youtube.com/watch?v=oggIAZ9uHug</a>

Expected result:

- as soon as the context menu appears, fire touchcancel  - which is what happens in Chrome/Android, see <a href="https://www.youtube.com/watch?v=Yoja9elNArs">https://www.youtube.com/watch?v=Yoja9elNArs</a>

Tested on iOS 9.2 (13C75)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>