//
// Access navigator.buildID from unprivileged web content.
// var isOK = false;
try { var contentBuildID = navigator.buildID;
isOK = true;
} catch (ex) {
}
ok(isOK, "navigator.buildID should never throw");
is(typeof(contentBuildID), "string", "navigator.buildID should be a string");
is(+contentBuildID, LEGACY_BUILD_ID, "navigator.buildID should be spoofed in content");
async function onLoad() {
//
// Access navigator.buildID from chrome.
//
let chromeBuildID = await ChromeTask.spawn(null, () => {
const browser = Services.wm.getMostRecentBrowserWindow();
return browser.navigator.buildID;
});
ok(+chromeBuildID > LEGACY_BUILD_ID,
`navigator.buildID should be exposed in chrome - got "${chromeBuildID}"`);
//
// Access navigator.buildID from mozilla.org.
//
let mozillaBuildID = await getMozillaBuildID();
ok(+mozillaBuildID > LEGACY_BUILD_ID,
`navigator.buildID should be exposed on mozilla.org ` +
`- got "${mozillaBuildID}"`);
is(chromeBuildID, mozillaBuildID, "navigator.buildID should be the same in chrome and on mozilla.org");
//
// Access navigator.buildID from mozilla.org when resisting fingerprinting.
//
await SpecialPowers.pushPrefEnv(
{"set": [["privacy.resistFingerprinting", true]]});
let resistBuildID = await getMozillaBuildID();
is(+resistBuildID, LEGACY_BUILD_ID, "navigator.buildID should be spoofed on mozilla.org when " + "resisting fingerprinting");
SimpleTest.finish();
}
async function getMozillaBuildID() {
let iframe = document.getElementById("mozillaIFrame");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.