1
0
Fork 0
firefox/dom/base/test/script_bug602838.sjs
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

43 lines
986 B
JavaScript

function setOurState(data) {
x = {
data,
QueryInterface(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);
}
}