tor-browser

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

access-control-recursive-failed-request.htm (983B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <title>Recursively repeated CORS requests with failed preflights should never result in unexpected behavior</title>
      5    <script src="/resources/testharness.js"></script>
      6    <script src="/resources/testharnessreport.js"></script>
      7    <script src="/common/get-host-info.sub.js"></script>
      8  </head>
      9  <body>
     10    <script type="text/javascript">
     11 let requestCount = 0;
     12 const requestMax = 10;
     13 
     14 async_test((test) => {
     15  function preflightRequest() {
     16    const xhr = new XMLHttpRequest;
     17 
     18    xhr.onload = test.unreached_func("Request succeeded unexpectedly.");
     19 
     20    xhr.onerror = test.step_func(() => {
     21      assert_equals(xhr.status, 0);
     22      if (++requestCount >= requestMax) {
     23        test.done();
     24        return;
     25      }
     26      preflightRequest();
     27    });
     28 
     29    xhr.open("GET", get_host_info().HTTP_REMOTE_ORIGIN +
     30        "/xhr/resources/access-control-basic-denied.py");
     31    xhr.send();
     32  }
     33 
     34  preflightRequest();
     35 });
     36    </script>
     37  </body>
     38 </html>