diff options
Diffstat (limited to 'browser/components/originattributes/test/browser/browser_localStorageIsolation.js')
-rw-r--r-- | browser/components/originattributes/test/browser/browser_localStorageIsolation.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/browser/components/originattributes/test/browser/browser_localStorageIsolation.js b/browser/components/originattributes/test/browser/browser_localStorageIsolation.js new file mode 100644 index 0000000000..68990f6ea4 --- /dev/null +++ b/browser/components/originattributes/test/browser/browser_localStorageIsolation.js @@ -0,0 +1,33 @@ +/** + * Bug 1264567 - A test case for localStorage isolation. + */ + +const TEST_PAGE = + "http://mochi.test:8888/browser/browser/components/" + + "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); |