| Index: LayoutTests/http/tests/xmlhttprequest/ontimeout-event.html
 | 
| diff --git a/LayoutTests/http/tests/xmlhttprequest/ontimeout-event.html b/LayoutTests/http/tests/xmlhttprequest/ontimeout-event.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..23d1e0474ac3999b5604fc2af961b31f098d1761
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/http/tests/xmlhttprequest/ontimeout-event.html
 | 
| @@ -0,0 +1,46 @@
 | 
| +<!doctype html>
 | 
| +<html>
 | 
| +<head>
 | 
| +<script src="../resources/testharness.js"></script>
 | 
| +<script src="../resources/testharnessreport.js"></script>
 | 
| +</head>
 | 
| +<body>
 | 
| +<p> Verify that a timeout ProgressEvent is dispatched and have the expected values.</p>
 | 
| +<div id="log"></div>
 | 
| +<script type="text/javascript">
 | 
| +
 | 
| +function verifyProgressEvent(context, e)
 | 
| +{
 | 
| +    assert_true(e.loaded >= 0, "Non-zero 'loaded' value for '" + context + "' event.");
 | 
| +    assert_true(!e.lengthComputable || e.total > 0, "Non-zero 'total' value for '" + context + "' event.");
 | 
| +}
 | 
| +
 | 
| +function logProgressEvent(e) {
 | 
| +    results += " " + e.type;
 | 
| +}
 | 
| +
 | 
| +function unexpectedProgressEvent(e) {
 | 
| +    assert_unreached("Unexpected request error");
 | 
| +}
 | 
| +
 | 
| +function timeoutHandler(e)
 | 
| +{
 | 
| +    assert_true(e instanceof ProgressEvent);
 | 
| +    verifyProgressEvent("ontimeout", e);
 | 
| +    testOnTimeoutEvent.done();
 | 
| +}
 | 
| +
 | 
| +var testOnTimeoutEvent = async_test("Check that 'timeout' events are delivered and have expected values.");
 | 
| +testOnTimeoutEvent.step(function () {
 | 
| +    var xhr = new XMLHttpRequest();
 | 
| +    xhr.ontimeout = testOnTimeoutEvent.step_func(timeoutHandler);
 | 
| +    xhr.onabort = testOnTimeoutEvent.step_func(unexpectedProgressEvent);
 | 
| +    xhr.onerror = testOnTimeoutEvent.step_func(unexpectedProgressEvent);
 | 
| +    xhr.onload = testOnTimeoutEvent.step_func(unexpectedProgressEvent);
 | 
| +    xhr.timeout = 30;
 | 
| +    xhr.open("GET", "/resources/load-and-stall.php?name=../resources/test.mp4&stallAt=100&stallFor=10000&mimeType=video/mp4", true);
 | 
| +    xhr.send();
 | 
| +});
 | 
| +</script>
 | 
| +</body>
 | 
| +</html>
 | 
| 
 |