tor-browser

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

reftest_video.html (1397B)


      1 <!DOCTYPE HTML>
      2 <html class="reftest-wait">
      3 <head>
      4 <meta charset='utf-8'>
      5 </head>
      6 <body>
      7 <video id="e_video" style="position:absolute; left:0; top:0; max-width:100%">
      8 <script>
      9 
     10 const TIMEOUT_MS = 2000;
     11 
     12 // -
     13 
     14 function sleepPromise(ms) {
     15  return new Promise(go => {
     16    setTimeout(go, ms);
     17  });
     18 }
     19 
     20 (async () => {
     21  await sleepPromise(TIMEOUT_MS);
     22  if (!document.documentElement.hasAttribute('class')) return;
     23 
     24  const div = document.body.appendChild(document.createElement('div'));
     25  div.textContent = `Timed out after ${TIMEOUT_MS}ms`;
     26  console.log(div.textContent);
     27 
     28  document.documentElement.removeAttribute('class');
     29 })();
     30 
     31 // -
     32 // Test
     33 
     34 (async () => {
     35  const params = new URLSearchParams(window.location.search);
     36  const src = params.get('src');
     37  src.defined;
     38  if (src == 'none') {
     39    console.log('Show blank.');
     40    document.documentElement.removeAttribute('class');
     41    return;
     42  }
     43  if (src == 'timeout') {
     44    console.log('Deliberate timeout.');
     45    return;
     46  }
     47 
     48  e_video.src = src;
     49  e_video.muted = true;
     50  const p = e_video.play();
     51  p.defined;
     52  try {
     53    await p;
     54    console.log('e_video.play() accepted');
     55  } catch (e) {
     56    const div = document.body.appendChild(document.createElement('div'));
     57    div.textContent = `Error: ${JSON.stringify(e)}`;
     58    console.log(div.textContent);
     59  }
     60  document.documentElement.removeAttribute('class');
     61 })();
     62 </script>
     63 </body>
     64 </html>