Source code

Revision control

Copy as Markdown

Other Tools

"use strict";
let { setTimeout } = ChromeUtils.importESModule(
"resource://gre/modules/Timer.sys.mjs"
);
// A tall 1x1000 black png.
const IMG_BYTES = atob(
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAPoAQMAAAAleAYdAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAF0lEQVQ4jWNgGAWjYBSMglEwCkbBUAcAB9AAASBs/t4AAAAASUVORK5CYII="
);
// Cargo-culted from file_SlowImage.sjs
function handleRequest(request, response) {
response.processAsync();
response.setHeader("Content-Type", "image/png");
let delay = request.queryString.indexOf("slow") >= 0 ? 600 : 200;
setTimeout(function () {
response.write(IMG_BYTES);
response.finish();
}, delay);
}