tor-browser

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

referrer-policy-iframe.html (1182B)


      1 <script src="/common/get-host-info.sub.js"></script>
      2 <script src="test-helpers.sub.js"></script>
      3 <script>
      4 function check_referer(url, expected_referer) {
      5  return fetch(url)
      6    .then(function(res) { return res.json(); })
      7    .then(function(headers) {
      8        if (headers['referer'] === expected_referer) {
      9          return Promise.resolve();
     10        } else {
     11          return Promise.reject('Referer for ' + url + ' must be ' +
     12                                expected_referer + ' but got ' +
     13                                headers['referer']);
     14        }
     15      });
     16 }
     17 
     18 window.addEventListener('message', function(evt) {
     19    var host_info = get_host_info();
     20    var port = evt.ports[0];
     21    check_referer('request-headers.py?ignore=true',
     22                  host_info['HTTPS_ORIGIN'] +
     23                  base_path() + 'referrer-policy-iframe.html')
     24      .then(function() {
     25          return check_referer(
     26              'request-headers.py?url=request-headers.py',
     27              host_info['HTTPS_ORIGIN'] + '/');
     28        })
     29      .then(function() { port.postMessage({results: 'finish'}); })
     30      .catch(function(e) { port.postMessage({results: 'failure:' + e}); });
     31  });
     32 </script>