tor-browser

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

SharedWorker_dataUrl.html (1859B)


      1 <!DOCTYPE html>
      2 <title>Shared Worker: Data URL cross-origin checks</title>
      3 <script src="/common/get-host-info.sub.js"></script>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <body>
      7 </body>
      8 <script>
      9 
     10 function dirname(path) {
     11  return path.replace(/\/[^\/]*$/, '/');
     12 }
     13 
     14 promise_test(t => {
     15  return new Promise(function(resolve) {
     16    let count = 0;
     17    onmessage = e => {
     18      assert_equals(e.data, 1);
     19      if (++count == 2) {
     20        resolve(true);
     21      }
     22    };
     23 
     24    let iframeA = document.createElement('iframe');
     25    document.body.appendChild(iframeA);
     26    iframeA.src =  get_host_info().HTTP_REMOTE_ORIGIN +
     27                   dirname(location.pathname) +
     28                   "support/iframe_sw_dataUrl.html";
     29 
     30    let iframeB = document.createElement('iframe');
     31    document.body.appendChild(iframeB);
     32    iframeB.src =  get_host_info().HTTPS_REMOTE_ORIGIN +
     33                   dirname(location.pathname) +
     34                   "support/iframe_sw_dataUrl.html";
     35  });
     36 }, 'Data URL not shared by cross-origin SharedWorkers');
     37 
     38 promise_test(t => {
     39  return new Promise(function(resolve) {
     40    let count = 0;
     41    onmessage = e => {
     42      assert_equals(e.data, ++count);
     43      if (count == 2) {
     44        resolve(true);
     45      }
     46    };
     47 
     48    let iframeA = document.createElement('iframe');
     49    document.body.appendChild(iframeA);
     50    iframeA.src =  get_host_info().HTTP_ORIGIN +
     51                   dirname(location.pathname) +
     52                   "support/iframe_sw_dataUrl.html";
     53 
     54    let iframeB = document.createElement('iframe');
     55    document.body.appendChild(iframeB);
     56    iframeB.src =  get_host_info().HTTP_ORIGIN +
     57                   dirname(location.pathname) +
     58                   "support/iframe_sw_dataUrl.html";
     59  });
     60 }, 'Data URLs shared by same-origin SharedWorkers');
     61 
     62 </script>
     63 </html>