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>