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>