Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Errors

/**
* Bug 1264567 - A test case for localStorage isolation.
*/
const TEST_PAGE =
"originattributes/test/browser/file_firstPartyBasic.html";
// Use a random key so we don't access it in later tests.
const key = Math.random().toString();
// IsolationTestTools flushes all preferences
// hence we explicitly pref off https-first mode
async function prefOffHttpsFirstMode() {
await SpecialPowers.pushPrefEnv({
set: [["dom.security.https_first", false]],
});
}
// Define the testing function
function doTest(aBrowser) {
return SpecialPowers.spawn(aBrowser, [key], function (contentKey) {
let value = content.localStorage.getItem(contentKey);
if (value === null) {
// No value is found, so we create one.
value = Math.random().toString();
content.localStorage.setItem(contentKey, value);
}
return value;
});
}
IsolationTestTools.runTests(TEST_PAGE, doTest, null, prefOffHttpsFirstMode);