tor-browser

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

pointerevent_pointerrawupdate.https.html (2494B)


      1 <!doctype html>
      2 <title>Firing of pointerrawupdate in secure contexts</title>
      3 <link rel="help"
      4  href="https://w3c.github.io/pointerevents/#the-pointerrawupdate-event">
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <script src="/resources/testdriver.js"></script>
      8 <script src="/resources/testdriver-actions.js"></script>
      9 <script src="/resources/testdriver-vendor.js"></script>
     10 <script type="text/javascript" src="pointerevent_support.js"></script>
     11 <style>
     12  #target {
     13    width: 50px;
     14    height: 50px;
     15  }
     16 </style>
     17 <div id="target"></div>
     18 <script>
     19  "use strict";
     20 
     21  let event_log = [];
     22  const eventLogger = e => event_log.push(e.type);
     23 
     24  const target = document.getElementById("target");
     25  ["pointerrawupdate", "pointerdown", "pointermove", "pointerup"].forEach(
     26      ename => target.addEventListener(ename, eventLogger));
     27 
     28  promise_test(async test => {
     29    let pointerup_promise = getEvent("pointerup", target, test);
     30 
     31    var actions = new test_driver.Actions();
     32    actions = actions.pointerMove(0, 0, {origin: target})
     33        .pointerDown({button: actions.ButtonType.LEFT})
     34        .pointerDown({button: actions.ButtonType.MIDDLE})
     35        .pointerUp({button: actions.ButtonType.MIDDLE})
     36        .pointerUp({button: actions.ButtonType.LEFT});
     37 
     38    await actions.send();
     39    await pointerup_promise;
     40 
     41    // Main assertion for this test. Note that non-secure contexts are covered
     42    // in pointerevent_pointerrawupdate.html.
     43    assert_true(event_log.includes("pointerrawupdate"),
     44        "pointerrawupdate received");
     45 
     46    // Assert the order of pointerrawupdate with respect to other events. Note
     47    // that chorded buttons fire pointermoves.
     48    const expected_events = [
     49      "pointerrawupdate", "pointermove", "pointerdown",
     50      "pointerrawupdate", "pointermove", "pointerrawupdate", "pointermove",
     51      "pointerup"
     52    ];
     53    assert_equals(event_log.toString(), expected_events.toString(),
     54        "events received");
     55  }, "pointerrawupdate event is fired");
     56 
     57  promise_test(async test => {
     58    assert_true("onpointerrawupdate" in window,
     59        "Window should have event handler onpointerrawupdate");
     60    assert_true("onpointerrawupdate" in window.document,
     61        "Document should have event handler onpointerrawupdate");
     62    assert_true("onpointerrawupdate" in window.document.documentElement,
     63        "Element should have event handler onpointerrawupdate");
     64  }, "onpointerrawupdate is exposed");
     65 </script>