tor-browser

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

test_legacy_mouse_events_prevent_default_wheel.html (1531B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <title>PreventDefault on legacy mouse events also default prevents the wheel event</title>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <script src="/tests/SimpleTest/EventUtils.js"></script>
      8  <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
      9  <style>
     10    body {
     11      height: 10000px;
     12    }
     13  </style>
     14  <script>
     15    for (const legacyEvent of ["DOMMouseScroll", "MozMousePixelScroll"]) {
     16      add_task(async function test() {
     17        const wheelEventPromise = new Promise(resolve => {
     18          window.addEventListener("wheel", e => resolve(e), { passive: true, once: true });
     19        })
     20 
     21        window.addEventListener(legacyEvent, e => {
     22          info(`Prevent default on ${legacyEvent}`);
     23          e.preventDefault();
     24        }, { passive: false, once: true });
     25 
     26        const event = {
     27          deltaMode: WheelEvent.DOM_DELTA_LINE,
     28          deltaX: -10,
     29          deltaY: -10,
     30          lineOrPageDeltaX: -10,
     31          lineOrPageDeltaY: -10
     32        }
     33        info("Synthesize wheel event");
     34        synthesizeWheel(document.body, 10, 10, event, window);
     35 
     36        info("Waiting for wheel event");
     37        const wheelEvent = await wheelEventPromise;
     38 
     39        ok(wheelEvent.defaultPrevented, "Wheel was default prevented");
     40      }, `Default preventing ${legacyEvent} also default prevents wheel`);
     41    }
     42  </script>
     43 </head>
     44 <body>
     45 <p id="display"></p>
     46 <div id="content" style="display: none"></div>
     47 <pre id="test"></pre>
     48 </body>
     49 </html>