tor-browser

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

interactionid-tap.html (1440B)


      1 <!DOCTYPE html>
      2 <html>
      3 <meta charset=utf-8 />
      4 <title>Event Timing: interactionId-tap.</title>
      5 <button id='testButtonId'>Tap</button>
      6 <script src=/resources/testharness.js></script>
      7 <script src=/resources/testharnessreport.js></script>
      8 <script src=/resources/testdriver.js></script>
      9 <script src=/resources/testdriver-actions.js></script>
     10 <script src=/resources/testdriver-vendor.js></script>
     11 <script src=resources/event-timing-test-utils.js></script>
     12 
     13 <script>
     14  let observedEntries = [];
     15  const map = new Map();
     16  const events = ['pointerdown', 'pointerup'];
     17 
     18  promise_test(async t => {
     19    assert_implements(window.PerformanceEventTiming, 'Event Timing is not supported.');
     20 
     21    const callback = (entryList) => { observedEntries = observedEntries.concat(entryList.getEntries().filter(filterAndAddToMap(events, map))); };
     22    const readyToResolve = () => { return observedEntries.length >= 2; };
     23    const observerPromise = createPerformanceObserverPromise(['event'], callback, readyToResolve);
     24 
     25    await interactAndObserve('tap', document.getElementById('testButtonId'), observerPromise);
     26    events.forEach(e => assert_greater_than(map.get(e), 0, 'Should have a non-trivial interactionId for ' + e + ' event'));
     27    assert_equals(map.get('pointerdown'), map.get('pointerup'), 'The pointerdown and the pointerup should have the same interactionId');
     28  }, "Event Timing: compare event timing interactionId for tap.");
     29 
     30 </script>
     31 </html>