tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

pointerevent_iframe-touch-action-none_touch.html (2034B)


      1 <html>
      2  <head>
      3    <title>iframe touch-action:none does not prevent panning or zooming inside
      4    the iframe</title>
      5    <meta name="viewport" content="width=device-width">
      6    <link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
      7    <script src="/resources/testharness.js"></script>
      8    <script src="/resources/testharnessreport.js"></script>
      9    <script src="pointerevent_support.js"></script>
     10    <script src="/resources/testdriver.js"></script>
     11    <script src="/resources/testdriver-actions.js"></script>
     12    <script src="/resources/testdriver-vendor.js"></script>
     13  </head>
     14  <style>
     15    iframe {
     16      touch-action: none;
     17    }
     18  </style>
     19  <body>
     20    <h1>iframe touch-action:none attribute</h1>
     21    <h2 id="pointerTypeDescription"></h2>
     22    <br>
     23    <iframe id="target"></iframe>
     24  </body>
     25  <script>
     26    'use strict';
     27 
     28    function loadFrame() {
     29      return new Promise(resolve => {
     30        const frame = document.getElementById('target');
     31        frame.onload = resolve;
     32        frame.src = 'resources/iframe-touch-action-none-subframe.html';
     33      });
     34    }
     35 
     36    function messageReceived() {
     37      return new Promise(resolve => {
     38        window.addEventListener('message', (event) => {
     39          if (event.source != target.contentWindow) {
     40            return;
     41          }
     42          if (event.data && event.data.type == "subframe-event") {
     43            resolve(event.data.eventType);
     44          }
     45        });
     46      });
     47    }
     48 
     49    promise_test(async t => {
     50      const target = document.getElementById("target");
     51      await loadFrame();
     52 
     53      const messagePromise = messageReceived();
     54 
     55      await new test_driver.Actions()
     56            .addPointer("pointer1", "touch")
     57            .pointerMove(0, 0, {origin: target})
     58            .pointerDown()
     59            .pointerMove(25, 25, {origin: target})
     60            .pointerUp()
     61            .send();
     62 
     63      const eventType = await messagePromise;
     64      assert_equals(eventType, 'pointercancel');
     65    }, 'touch iframe received pointercancel');
     66  </script>
     67 </html>