OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <script src="/js-test-resources/js-test.js"></script> |
| 5 <script> |
| 6 function loadScript(url, async, onload, onerror) { |
| 7 var script = document.createElement("script"); |
| 8 script.async = async; |
| 9 script.onload = onload; |
| 10 if (onerror) |
| 11 script.onerror = onerror; |
| 12 script.src = url; |
| 13 document.head.appendChild(script); |
| 14 } |
| 15 </script> |
| 16 </head> |
| 17 <body> |
| 18 <script> |
| 19 description("Slow scripts that fail to load should not dispatch multiple error e
vents"); |
| 20 |
| 21 window.jsTestIsAsync = true; |
| 22 |
| 23 if (window.testRunner) { |
| 24 testRunner.dumpAsText(); |
| 25 testRunner.waitUntilDone(); |
| 26 } |
| 27 |
| 28 var firstOnErrorHandlerHasRun = false; |
| 29 function failedFirst() { |
| 30 shouldBeFalse("firstOnErrorHandlerHasRun"); |
| 31 firstOnErrorHandlerHasRun = true; |
| 32 // Issue another script load so as to have the script runner |
| 33 // revisit its script queue. This should not result in this |
| 34 // onerror handler running again. |
| 35 loadScript("resources/success.js?1", true); |
| 36 } |
| 37 |
| 38 var secondOnErrorHandlerHasRun = false; |
| 39 function failedSecond() { |
| 40 shouldBeTrue("firstOnErrorHandlerHasRun"); |
| 41 shouldBeFalse("secondOnErrorHandlerHasRun"); |
| 42 secondOnErrorHandlerHasRun = true; |
| 43 loadScript("resources/success.js?2", true, finishJSTest); |
| 44 } |
| 45 |
| 46 function unexpectedLoad() { |
| 47 testFailed("Script should not have loaded"); |
| 48 finishJSTest(); |
| 49 } |
| 50 |
| 51 loadScript("resources/success.js?3", false); |
| 52 loadScript("resources/slow-nonexisting-script.php?sleep=1", false, unexpectedLoa
d, failedFirst); |
| 53 loadScript("resources/slow-nonexisting-script.php?sleep=2", false, unexpectedLoa
d, failedSecond); |
| 54 </script> |
| 55 </body> |
| 56 </html> |
OLD | NEW |