Index: LayoutTests/http/tests/xmlhttprequest/workers/resources/xmlhttprequest-timeout-override-worker.js |
diff --git a/LayoutTests/http/tests/xmlhttprequest/workers/resources/xmlhttprequest-timeout-override-worker.js b/LayoutTests/http/tests/xmlhttprequest/workers/resources/xmlhttprequest-timeout-override-worker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5f1aab2f5a4cb08dae258f60530d0d6580de9406 |
--- /dev/null |
+++ b/LayoutTests/http/tests/xmlhttprequest/workers/resources/xmlhttprequest-timeout-override-worker.js |
@@ -0,0 +1,41 @@ |
+importScripts("worker-pre.js"); |
+ |
+function log(message) { |
+ postMessage("log " + message); |
+} |
+ |
+function done() { |
+ postMessage("DONE"); |
+} |
+ |
+function eventHandler(e) { |
+ log(e.type); |
+ done(); |
+} |
+ |
+function init() { |
+ try { |
+ var xhr = new XMLHttpRequest(); |
+ xhr.ontimeout = eventHandler; |
+ xhr.onabort = eventHandler; |
+ xhr.onerror = eventHandler; |
+ xhr.onload = eventHandler; |
+ |
+ xhr.timeout = 100000; |
+ xhr.open("GET", "../../../resources/load-and-stall.php?name=../resources/test.mp4&stallAt=0&stallFor=1000&mimeType=video/mp4", true); |
+ |
+ // Defer overriding timeout |
+ setTimeout(function() { |
+ xhr.timeout = 400; |
+ }, 200); |
+ |
+ setTimeout(function() { |
+ xhr.abort(); |
+ }, 1000); |
+ |
+ xhr.send(); |
+ } catch (e) { |
+ log(e); |
+ done(); |
+ } |
+}; |