diff --git a/content/base/test/test_bug482935.html b/content/base/test/test_bug482935.html
index 4c678ff3adf3..28baea933c28 100644
--- a/content/base/test/test_bug482935.html
+++ b/content/base/test/test_bug482935.html
@@ -29,25 +29,30 @@ function testCancelInPhase4() {
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function(e) {
if (xhr.readyState >= 4) {
+ xhr.addEventListener("abort", function() {
+ setTimeout(function() {
+ // This request was cancelled, so the responseText should be empty string
+ is(xhr.responseText, "", "Expected empty response to cancelled request");
+
+ // Second request - should be found in cache
+ var xhr2 = new XMLHttpRequest();
+
+ xhr2.addEventListener("load", function() {
+ is(xhr2.responseText, "0", "Received fresh value for second request");
+ testCancelBeforePhase4();
+ }, false);
+
+ xhr2.open("GET", url, false); // note : synch-request
+ xhr2.setRequestHeader("X-Request", "1", false);
+
+ try { xhr2.send(); }
+ catch(e) {
+ is(xhr2.status, "200", "Exception!");
+ }
+ }, 0);
+ }, false);
+
xhr.abort();
- SimpleTest.executeSoon(function() {
- // This request was cancelled, so the responseText should be empty string
- is(xhr.responseText, "", "Expected empty response to cancelled request");
-
- // Second request - should be found in cache
- var xhr2 = new XMLHttpRequest();
- xhr2.open("GET", url, false); // note : synch-request
- xhr2.setRequestHeader("X-Request", "1", false);
-
- try { xhr2.send(); }
- catch(e) {
- is(xhr2.status, "200", "Exception!");
- }
-
- is(xhr2.responseText, "0", "Received fresh value for second request");
-
- testCancelBeforePhase4();
- });
}
}, false);
@@ -69,25 +74,30 @@ function testCancelBeforePhase4() {
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function(e) {
if (xhr.readyState == 3) {
+ xhr.addEventListener("abort", function() {
+ setTimeout(function() {
+ // This request was cancelled, so the responseText should be empty string
+ is(xhr.responseText, "", "Expected empty response to cancelled request");
+
+ // Second request - should be found in cache
+ var xhr2 = new XMLHttpRequest();
+
+ xhr2.addEventListener("load", function() {
+ is(xhr2.responseText, "1", "Received cached value for second request");
+ SimpleTest.finish();
+ }, false);
+
+ xhr2.open("GET", url, false); // note : synch-request
+ xhr2.setRequestHeader("X-Request", "1", false);
+
+ try { xhr2.send(); }
+ catch(e) {
+ is(xhr2.status, "200", "Exception!");
+ }
+ }, 0);
+ }, false);
+
xhr.abort();
- SimpleTest.executeSoon(function() {
- // This request was cancelled, so the responseText should be empty string
- is(xhr.responseText, "", "Expected empty response to cancelled request");
-
- // Second request - should be found in cache
- var xhr2 = new XMLHttpRequest();
- xhr2.open("GET", url, false); // note : synch-request
- xhr2.setRequestHeader("X-Request", "1", false);
-
- try { xhr2.send(); }
- catch(e) {
- is(xhr2.status, "200", "Exception!");
- }
-
- is(xhr2.responseText, "1", "Received cached value for second request");
-
- SimpleTest.finish();
- });
}
}, false);