tor-browser

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

test_rel_preconnect.html (1797B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 -->
      5 <head>
      6  <title>Test for link rel=preconnect</title>
      7  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      8  <link rel="stylesheet" type="text/css"  href="/tests/SimpleTest/test.css" />
      9 
     10 <script type="text/javascript">
     11 SimpleTest.waitForExplicitFinish();
     12 
     13 const Cc = SpecialPowers.Cc, Ci = SpecialPowers.Ci, Cr = SpecialPowers.Cr;
     14 
     15 var remainder = 4;
     16 var observer;
     17 
     18 async function doTest()
     19 {
     20  await SpecialPowers.setBoolPref("network.http.debug-observations", true);
     21 
     22  SimpleTest.registerCleanupFunction(async () => {
     23    await SpecialPowers.setBoolPref("network.http.debug-observations", false);
     24  });
     25 
     26  observer = SpecialPowers.wrapCallback(function() {
     27    remainder--;
     28    ok(true, "observed remainder = " + remainder);
     29    if (!remainder) {
     30      SpecialPowers.removeObserver(observer, "speculative-connect-request");
     31      SimpleTest.finish();
     32    }
     33  });
     34  SpecialPowers.addObserver(observer, "speculative-connect-request");
     35 
     36  // test the link rel=preconnect element in the head for both normal
     37  // and crossOrigin=anonymous
     38  var link = document.createElement("link");
     39  link.rel = "preconnect";
     40  link.href = "//localhost:8888";
     41  document.head.appendChild(link);
     42  link = document.createElement("link");
     43  link.rel = "preconnect";
     44  link.href = "//localhost:8888";
     45  link.crossOrigin = "anonymous";
     46  document.head.appendChild(link);
     47 
     48  // test the http link response header - the test contains both a
     49  // normal and anonymous preconnect link header
     50  var iframe = document.createElement('iframe');
     51  iframe.src = 'rel_preconnect.sjs?//localhost:8888';
     52 
     53  document.body.appendChild(iframe);
     54 }
     55 
     56 </script>
     57 </head>
     58 <body onload="doTest();">
     59 <p id="display"></p>
     60 <div id="content" style="display: none"></div>
     61 <pre id="test">
     62 </pre>
     63 </body>
     64 </html>