mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 13:25:37 +00:00
Bug 957243. Fix test_bug602838.html to not assume server response ordering. r=mayhemer
This commit is contained in:
parent
531e8ee54e
commit
da40c34bce
@ -1,18 +1,37 @@
|
||||
function setOurState(data) {
|
||||
x = { data: data, QueryInterface: function(iid) { return this } };
|
||||
x.wrappedJSObject = x;
|
||||
setObjectState("bug602838", x);
|
||||
}
|
||||
|
||||
function getOurState() {
|
||||
var data;
|
||||
getObjectState("bug602838", function(x) {
|
||||
// x can be null if no one has set any state yet
|
||||
if (x) {
|
||||
data = x.wrappedJSObject.data;
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
|
||||
function handleRequest(request, response)
|
||||
{
|
||||
if (request.queryString) {
|
||||
let blockedResponse = null;
|
||||
getObjectState("bug602838", function(x) { blockedResponse = x.wrappedJSObject.r });
|
||||
blockedResponse.finish();
|
||||
setObjectState("bug602838", null);
|
||||
let blockedResponse = getOurState();
|
||||
if (typeof(blockedResponse) == "object") {
|
||||
blockedResponse.finish();
|
||||
setOurState(null);
|
||||
} else {
|
||||
setOurState("unblocked");
|
||||
}
|
||||
return;
|
||||
}
|
||||
response.setHeader("Cache-Control", "no-cache", false);
|
||||
response.setHeader("Content-Type", "text/javascript", false);
|
||||
response.write("ok(asyncRan, 'Async script should have run first.'); firstRan = true;");
|
||||
response.processAsync();
|
||||
|
||||
x = { r: response, QueryInterface: function(iid) { return this } };
|
||||
x.wrappedJSObject = x;
|
||||
setObjectState("bug602838", x);
|
||||
if (getOurState() != "unblocked") {
|
||||
response.processAsync();
|
||||
setOurState(response);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user