Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
const TEST_JSON_URL = URL_ROOT + "csp_json.json";
add_task(async function () {
info("Test CSP JSON started");
const tab = await addJsonViewTab(TEST_JSON_URL);
const count = await getElementCount(".jsonPanelBox .treeTable .treeRow");
is(count, 1, "There must be one row");
// The JSON Viewer alters the CSP, but the displayed header should be the original one
await selectJsonViewContentTab("headers");
await SpecialPowers.spawn(tab.linkedBrowser, [], async function () {
const responseHeaders = content.document.querySelector(".netHeadersGroup");
const names = responseHeaders.querySelectorAll(".netInfoParamName");
let found = false;
for (const name of names) {
if (name.textContent.toLowerCase() == "content-security-policy") {
ok(!found, "The CSP header only appears once");
found = true;
const value = name.nextElementSibling.textContent;
const expected = "default-src 'none'; base-uri 'none';";
is(value, expected, "The CSP value has not been altered");
}
}
ok(found, "The CSP header is present");
});
});