Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
/**
* Tests if "Referrer Policy" is displayed in the header panel.
*/
add_task(async function () {
const { tab, monitor } = await initNetMonitor(POST_RAW_URL, {
requestCount: 1,
});
info("Starting test... ");
const { document, store, windowRequire } = monitor.panelWin;
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
// Execute request.
await performRequests(monitor, tab, 1);
// Wait until the tab panel summary is displayed
const wait = waitUntil(
() => document.querySelectorAll(".tabpanel-summary-label")[0]
);
EventUtils.sendMouseEvent(
{ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]
);
await wait;
const referrerPolicyIndex = 3;
const referrerPolicyHeader = document.querySelectorAll(
".tabpanel-summary-label"
)[referrerPolicyIndex];
const referrerPolicyValue = document.querySelectorAll(
".tabpanel-summary-value"
)[referrerPolicyIndex];
is(
referrerPolicyHeader.textContent === "Referrer Policy",
true,
'"Referrer Policy" header is displayed in the header panel.'
);
const defaultPolicy = Services.prefs.getIntPref(
"network.http.referer.defaultPolicy"
);
const stringMap = {
0: "no-referrer",
1: "same-origin",
2: "strict-origin-when-cross-origin",
3: "no-referrer-when-downgrade",
};
is(
referrerPolicyValue.textContent === stringMap[defaultPolicy],
true,
"The referrer policy value is reflected correctly."
);
return teardown(monitor);
});