tor-browser

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

referrer-origin.js (1261B)


      1 if (this.document === undefined) {
      2  importScripts("/resources/testharness.js");
      3  importScripts("../resources/utils.js");
      4 
      5  // A nested importScripts() with a referrer-policy should have no effect
      6  // on overall worker policy.
      7  importScripts("nested-policy.js");
      8 }
      9 
     10 var referrerOrigin = (new URL("/", location.href)).href;
     11 var fetchedUrl = RESOURCES_DIR + "inspect-headers.py?headers=referer";
     12 
     13 promise_test(function(test) {
     14  return fetch(fetchedUrl).then(function(resp) {
     15    assert_equals(resp.status, 200, "HTTP status is 200");
     16    assert_equals(resp.type , "basic", "Response's type is basic");
     17    assert_equals(resp.headers.get("x-request-referer"), referrerOrigin, "request's referrer is " + referrerOrigin);
     18  });
     19 }, "Request's referrer is origin");
     20 
     21 promise_test(function(test) {
     22  var referrerUrl = "https://{{domains[www]}}:{{ports[https][0]}}/";
     23  return fetch(fetchedUrl, { "referrer": referrerUrl }).then(function(resp) {
     24    assert_equals(resp.status, 200, "HTTP status is 200");
     25    assert_equals(resp.type , "basic", "Response's type is basic");
     26    assert_equals(resp.headers.get("x-request-referer"), referrerOrigin, "request's referrer is " + referrerOrigin);
     27  });
     28 }, "Cross-origin referrer is overridden by client origin");
     29 
     30 done();