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>