tor-browser

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

second-meta-referrer-added-before-first.http.html (1140B)


      1 <!DOCTYPE html>
      2 <head>
      3  <script src="/resources/testharness.js"></script>
      4  <script src="/resources/testharnessreport.js"></script>
      5 
      6  <meta name="referrer" content="no-referrer" id="referrermeta">
      7 </head>
      8 <body>
      9  <script>
     10    async function fetchAndGetReferrer() {
     11      let response = await fetch('/common/security-features/subresource/xhr.py');
     12      let data = await response.json();
     13      return data.headers.referer;
     14    }
     15 
     16    promise_test(async t => {
     17      assert_equals(await fetchAndGetReferrer(), undefined,
     18                    'referrer should not be set');
     19 
     20      // Add second meta _before_ first meta.
     21      const first_meta = document.getElementById('referrermeta');
     22      const second_meta = document.createElement('meta');
     23      second_meta.name = 'referrer';
     24      second_meta.content = 'strict-origin';
     25      document.head.insertBefore(second_meta, first_meta);
     26      assert_equals(await fetchAndGetReferrer(), window.location.origin + '/',
     27                    'referrer should the origin only');
     28    }, 'document referrer policy is the value of the most recently added <meta name="referrer">');
     29 
     30  </script>
     31 </body>