// Custom *.sjs file specifically for the needs of // https://bugzilla.mozilla.org/show_bug.cgi?id=1073952 "use strict"; Components.utils.importGlobalProperties(["URLSearchParams"]); const SCRIPT = ` `; const SIMPLE_IFRAME_SRCDOC = `
`; const INNER_SRCDOC_IFRAME = ` `; const NESTED_IFRAME_SRCDOC = ` `; const INNER_DATAURI_IFRAME = ` `; const NESTED_IFRAME_SRCDOC_DATAURI = ` `; function handleRequest(request, response) { const query = new URLSearchParams(request.queryString); response.setHeader("Cache-Control", "no-cache", false); if (typeof query.get("csp") === "string") { response.setHeader("Content-Security-Policy", query.get("csp"), false); } response.setHeader("Content-Type", "text/html", false); if (query.get("action") === "simple_iframe_srcdoc") { response.write(SIMPLE_IFRAME_SRCDOC); return; } if (query.get("action") === "nested_iframe_srcdoc") { response.write(NESTED_IFRAME_SRCDOC); return; } if (query.get("action") === "nested_iframe_srcdoc_datauri") { response.write(NESTED_IFRAME_SRCDOC_DATAURI); return; } // we should never get here, but just in case // return something unexpected response.write("do'h"); }