tor-browser

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

activation-trigger-pointerevent.html (2754B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4  <link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#activation-triggering-input-event">
      5  <meta name="variant" content="?mouse">
      6  <meta name="variant" content="?pen">
      7  <meta name="variant" content="?touch">
      8  <script src="/resources/testharness.js"></script>
      9  <script src="/resources/testharnessreport.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  <script src="resources/utils.js"></script>
     14 </head>
     15 <body onload="runTests()">
     16  <h1>Test for pointerevent click activation trigger</h1>
     17  <p>Tests user activation from a pointer click.</p>
     18  <ol id="instructions">
     19    <li>Click anywhere in the document.
     20  </ol>
     21  <script>
     22  function runTests() {
     23    let pointer_type = location.search.substring(1);
     24 
     25    promise_test(async () => {
     26        const test_pointer = pointer_type + "TestPointer";
     27 
     28        let pointerdown_event = getEvent('pointerdown');
     29        let pointerup_event = getEvent('pointerup');
     30        let click_event = getEvent('click');
     31 
     32        await new test_driver.Actions().addPointer(test_pointer, pointer_type)
     33            .pointerMove(0, 0, {origin:document.body, sourceName:test_pointer})
     34            .pointerDown({sourceName:test_pointer})
     35            .pointerUp({sourceName:test_pointer})
     36            .send();
     37 
     38        await pointerdown_event;
     39        let consumed_pointerdown = await consumeTransientActivation();
     40        await pointerup_event;
     41        let consumed_pointerup = await consumeTransientActivation();
     42        await click_event;
     43        let consumed_click = await consumeTransientActivation();
     44 
     45        if (pointer_type === "mouse") {
     46            assert_true(consumed_pointerdown,
     47                        pointer_type + " pointerdown event should result in activation");
     48            assert_false(consumed_pointerup,
     49                         pointer_type + " pointerup should have no activation after pointerdown consumption");
     50            assert_false(consumed_click,
     51                         pointer_type + " click should have no activation after pointerdown consumption");
     52        } else {
     53            assert_false(consumed_pointerdown,
     54                        pointer_type + " pointerdown event should not result in activation");
     55            assert_true(consumed_pointerup,
     56                        pointer_type + " pointerup event should result in activation");
     57            assert_false(consumed_click,
     58                         pointer_type + " click should have no activation after pointerup consumption");
     59        }
     60    }, "Activation through " + pointer_type + " pointerevent click");
     61  }
     62  </script>
     63 </body>
     64 </html>