blob: 35372360684877fd51e7b2d2ded6d3cd50a73997 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
// Ensure that a storage instance used by both private and public sessions at different times does not
// allow any data to leak due to cached values.
// Step 1: Load browser_privatebrowsing_localStorage_before_after_page.html in a private tab, causing a storage
// item to exist. Close the tab.
// Step 2: Load the same page in a non-private tab, ensuring that the storage instance reports only one item
// existing.
add_task(async function test() {
let prefix =
"http://mochi.test:8888/browser/browser/components/privatebrowsing/test/browser/";
// Step 1.
let privateWin = await BrowserTestUtils.openNewBrowserWindow({
private: true,
});
let testURL =
prefix + "browser_privatebrowsing_localStorage_before_after_page.html";
await BrowserTestUtils.openNewForegroundTab(privateWin.gBrowser, testURL);
is(
privateWin.gBrowser.selectedBrowser.contentTitle,
"1",
"localStorage should contain 1 item"
);
// Step 2.
let win = await BrowserTestUtils.openNewBrowserWindow();
testURL =
prefix + "browser_privatebrowsing_localStorage_before_after_page2.html";
await BrowserTestUtils.openNewForegroundTab(win.gBrowser, testURL);
is(
win.gBrowser.selectedBrowser.contentTitle,
"null|0",
"localStorage should contain 0 items"
);
// Cleanup
await BrowserTestUtils.closeWindow(privateWin);
await BrowserTestUtils.closeWindow(win);
});
|