tor-browser

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

early-hints-response-time.h2.html (1152B)


      1 <!DOCTYPE html>
      2 <head>
      3 <meta charset="utf-8">
      4 <meta name="timeout" content="long">
      5 <script src="/common/utils.js"></script>
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 </head>
      9 <body>
     10 <script>
     11  promise_test(async t => {
     12    const iframe = document.createElement("iframe");
     13    const params = new URLSearchParams();
     14    const delays = [200, 100, 150];
     15    params.set("delay1", delays[0]);
     16    params.set("delay2", delays[1]);
     17 
     18    iframe.src = `resources/early-hints-delay.h2.py?${params.toString()}`;
     19    document.body.appendChild(iframe);
     20    t.add_cleanup(() => iframe.remove());
     21    await new Promise(resolve => iframe.addEventListener("load", resolve));
     22    const [entry] = iframe.contentWindow.performance.getEntriesByType("navigation");
     23    assert_greater_than(entry.firstInterimResponseStart, entry.requestStart + delays[0]);
     24    assert_greater_than(entry.finalResponseHeadersStart, entry.firstInterimResponseStart + delays[1]);
     25    assert_equals(entry.responseStart, entry.firstInterimResponseStart);
     26 }, `Interim response times should correspond to delays (h2)`);
     27 </script>
     28 </body>