tor-browser

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

header-referrer.https.html (2076B)


      1 <!DOCTYPE html>
      2 <title>Test `Referer` header</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="resources/utils.js"></script>
      6 <script src="/common/utils.js"></script>
      7 
      8 <body>
      9 
     10 <script>
     11 promise_test(async () => {
     12  const referrer_key = token();
     13  const referrer_ack_key = token();
     14 
     15  const check_url = generateURL('resources/check-header-referrer.py',
     16      [referrer_key])
     17  attachFencedFrame(check_url);
     18 
     19  const expected_referrer = "";
     20  const actual_referrer = await nextValueFromServer(referrer_key);
     21  assert_equals(actual_referrer, expected_referrer,
     22                "The top-level fenced frame has the right value for " +
     23                "`Referer` header");
     24 
     25  const inner_url = generateURL('resources/header-referrer-inner.html',
     26      [referrer_key, referrer_ack_key])
     27  attachFencedFrame(inner_url);
     28 
     29  const iframe_expected_referrer = inner_url.toString().replace("%2C", ",");
     30 
     31  const iframe_actual_referrer = await nextValueFromServer(referrer_key);
     32  assert_equals(iframe_actual_referrer, iframe_expected_referrer,
     33                "The iframe inside the fenced frame has the right value for " +
     34                "`Referer` header");
     35 
     36  writeValueToServer(referrer_ack_key, "ACK");
     37 
     38  const nested_fenced_frame_expected_referrer = "";
     39  const nested_fenced_frame_actual_referrer = await nextValueFromServer(referrer_key);
     40  assert_equals(nested_fenced_frame_actual_referrer, nested_fenced_frame_expected_referrer,
     41                "The nested fenced frame has the right value for " +
     42                "`Referer` header");
     43 
     44  writeValueToServer(referrer_ack_key, "ACK");
     45 
     46  const navigate_self_expected_referrer =
     47      inner_url.toString().replace("%2C", ",");
     48  const navigate_self_actual_referrer = await nextValueFromServer(referrer_key);
     49  assert_equals(navigate_self_actual_referrer, navigate_self_expected_referrer,
     50                "The fenced frame after it navigates itself has the right value for " +
     51                "`Referer` header");
     52 }, "header.referrer");
     53 </script>
     54 
     55 </body>