browser_pageinfo_separate_private.js (1541B)
1 /** 2 * Any copyright is dedicated to the Public Domain. 3 * http://creativecommons.org/publicdomain/zero/1.0/ 4 */ 5 6 add_task(async function () { 7 let tab = await BrowserTestUtils.openNewForegroundTab( 8 gBrowser, 9 "https://example.com" 10 ); 11 let browser = tab.linkedBrowser; 12 let pageInfo = BrowserCommands.pageInfo(browser.currentURI.spec); 13 await BrowserTestUtils.waitForEvent(pageInfo, "page-info-init"); 14 Assert.strictEqual( 15 pageInfo.docShell.QueryInterface(Ci.nsILoadContext).usePrivateBrowsing, 16 false, 17 "non-private window opened private page info window" 18 ); 19 20 let privateWindow = await BrowserTestUtils.openNewBrowserWindow({ 21 private: true, 22 }); 23 let privateTab = await BrowserTestUtils.openNewForegroundTab( 24 privateWindow.gBrowser, 25 "https://example.com" 26 ); 27 let privateBrowser = privateTab.linkedBrowser; 28 let privatePageInfo = privateWindow.BrowserCommands.pageInfo( 29 privateBrowser.currentURI.spec 30 ); 31 await BrowserTestUtils.waitForEvent(privatePageInfo, "page-info-init"); 32 Assert.strictEqual( 33 privatePageInfo.docShell.QueryInterface(Ci.nsILoadContext) 34 .usePrivateBrowsing, 35 true, 36 "private window opened non-private page info window" 37 ); 38 39 Assert.notEqual( 40 pageInfo, 41 privatePageInfo, 42 "private and non-private windows shouldn't have shared the same page info window" 43 ); 44 pageInfo.close(); 45 privatePageInfo.close(); 46 BrowserTestUtils.removeTab(tab); 47 BrowserTestUtils.removeTab(privateTab); 48 await BrowserTestUtils.closeWindow(privateWindow); 49 });