blob: 2c2bcef48b9d3b593af421ac66db396f211d254f [file] [log] [blame]
Austin James Ahlstrom8fe5c092017-09-14 03:38:391<!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">
11let requestCount = 0;
12const requestMax = 10;
13
14async_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 +
Philip Jägenstedt2cb86af2018-01-06 16:35:2730 "/xhr/resources/access-control-basic-denied.py");
Austin James Ahlstrom8fe5c092017-09-14 03:38:3931 xhr.send();
32 }
33
34 preflightRequest();
35});
36 </script>
37 </body>
38</html>