tor-browser

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

test_midi_packet_timing_sorting.html (1711B)


      1 <html>
      2  <head>
      3    <title>WebMIDI Listener Test</title>
      4    <script src="/tests/SimpleTest/SimpleTest.js"></script>
      5    <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      6    <script type="application/javascript" src="MIDITestUtils.js"></script>
      7  </head>
      8 
      9  <body onload="runTests()">
     10    <script class="testbody" type="application/javascript">
     11     SimpleTest.waitForExplicitFinish();
     12 
     13     async function runTests() {
     14       await MIDITestUtils.permissionSetup(true);
     15       await SpecialPowers.pushPrefEnv({"set": [["privacy.resistFingerprinting.reduceTimerPrecision.jitter", false]]});
     16       var checkCount = 0;
     17       var lastTime = 0;
     18       var input;
     19       var output;
     20       function checkReturn(event) {
     21         ok(event.timeStamp > lastTime, "Received timestamp " + event.timeStamp + " should be greater than " + lastTime);
     22         lastTime = event.timeStamp;
     23         checkCount++;
     24 
     25         if (checkCount == 6) {
     26           input.close();
     27           output.close();
     28           SimpleTest.finish();
     29         }
     30       }
     31       ok("Testing MIDI packet reordering based on timestamps");
     32       // Request access without sysex.
     33       let access = await navigator.requestMIDIAccess({ "sysex": false });
     34       ok(true, "MIDI Access Request successful");
     35       is(access.sysexEnabled, false, "Sysex should be false");
     36 
     37       input = access.inputs.get(await MIDITestUtils.inputInfo.id);
     38       output = access.outputs.get(await MIDITestUtils.outputInfo.id);
     39       input.onmidimessage = checkReturn;
     40       // trigger the packet timing sorting tests
     41       output.send([0x90, 0x03, 0x00], 0);
     42       ok(true, "Waiting on packets");
     43     }
     44    </script>
     45  </body>
     46 </html>