tor-browser

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

test_meta_referrer.html (1602B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Bug 1704473 - Remove head requirement for meta name=referrer</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7 </head>
      8 <body>
      9 
     10 <iframe id="frame_meta_in_head"></iframe>
     11 <iframe id="frame_meta_notin_head"></iframe>
     12 
     13 <script type="application/javascript">
     14 
     15 SimpleTest.waitForExplicitFinish();
     16 
     17 let testCounter = 0;
     18 function checkTestsDone() {
     19  testCounter++;
     20  if(testCounter == 2) {
     21    SimpleTest.finish();
     22  }
     23 }
     24 var script = SpecialPowers.loadChromeScript(() => {
     25  /* eslint-env mozilla/chrome-script */
     26  let counter = 0;
     27  Services.obs.addObserver(function onExamResp(subject) {
     28    let channel = subject.QueryInterface(Ci.nsIHttpChannel);
     29    if (!channel.URI.spec.startsWith("https://example.com") || counter >= 2) {
     30      return;
     31    }
     32 
     33    let refererHeaderSet = false;
     34    try {
     35      channel.getRequestHeader("referer");
     36      refererHeaderSet = true;
     37    } catch (e) {
     38      refererHeaderSet = false;
     39    }
     40    ok(!refererHeaderSet, "the referer header should not be set");
     41    counter++;
     42    sendAsyncMessage("checked-referer-header");
     43  }, "http-on-stop-request");
     44 });
     45 
     46 script.addMessageListener("checked-referer-header", checkTestsDone);
     47 
     48 let frame1 = document.getElementById("frame_meta_in_head");
     49 frame1.src = "/tests/dom/security/test/general/file_meta_referrer_in_head.html";
     50 let frame2 = document.getElementById("frame_meta_notin_head");
     51 frame2.src = "/tests/dom/security/test/general/file_meta_referrer_notin_head.html";
     52 
     53 </script>
     54 </body>
     55 </html>