tor-browser

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

file_bug503481b_inner.html (1534B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4 <!-- Async script that isn't preloaded -->
      5 <script async src="file_bug503481.sjs?blockOn=R&body=runFirst();"></script>
      6 <script>
      7 firstRan = false;
      8 secondRan = false;
      9 thirdRan = false;
     10 forthRan = false;
     11 function runFirst() {
     12  firstRan = true;
     13 }
     14 function runThird() {
     15  parent.is(forthRan, false, "forth should still be blocked");
     16  unblock("T");
     17  thirdRan = true;
     18 }
     19 function runForth() {
     20  forthRan = true;
     21 }
     22 
     23 function done() {
     24  parent.is(firstRan, true, "first should have run by onload");
     25  parent.is(secondRan, true, "second should have run by onload");
     26  parent.is(thirdRan, true, "third should have run by onload");
     27  parent.is(forthRan, true, "forth should have run by onload");
     28  parent.SimpleTest.finish();
     29 }
     30 
     31 var reqs = [];
     32 function unblock(s) {
     33  xhr = new XMLHttpRequest();
     34  xhr.open("GET", "file_bug503481.sjs?unblock=" + s);
     35  xhr.send();
     36  reqs.push(xhr);
     37 }
     38 
     39 
     40 parent.is(firstRan, false, "First async script shouldn't have run");
     41 unblock("R");
     42 </script>
     43 
     44 <!-- test that inline async isn't actually async -->
     45 <script async>
     46 secondRan = true;
     47 </script>
     48 <script>
     49 parent.is(secondRan, true, "Second script shouldn't be async");
     50 </script>
     51 
     52 <!-- test that setting both defer and async treats the script as async -->
     53 <script defer async src="file_bug503481.sjs?blockOn=S&body=runThird();"></script>
     54 <script>
     55 parent.is(thirdRan, false, "third should not have run yet");
     56 unblock("S");
     57 </script>
     58 <script src="file_bug503481.sjs?blockOn=T&body=runForth();"></script>
     59 
     60 </head>
     61 
     62 <body onload="done()">