mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
38 lines
972 B
JavaScript
38 lines
972 B
JavaScript
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 = 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;");
|
|
if (getOurState() != "unblocked") {
|
|
response.processAsync();
|
|
setOurState(response);
|
|
}
|
|
}
|