browser_duplicate_tab_in_new_window.js (1040B)
1 ChromeUtils.defineESModuleGetters(this, { 2 SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs", 3 }); 4 5 add_task(async function () { 6 await BrowserTestUtils.withNewTab( 7 "https://example.com", 8 async function (aBrowser) { 9 BrowserTestUtils.startLoadingURIString(aBrowser, "https://example.org"); 10 await BrowserTestUtils.browserLoaded(aBrowser); 11 12 let windowOpened = BrowserTestUtils.waitForNewWindow( 13 "https://example.org" 14 ); 15 let newWindow = gBrowser.replaceTabWithWindow( 16 gBrowser.getTabForBrowser(aBrowser) 17 ); 18 await windowOpened; 19 let newTab = SessionStore.duplicateTab( 20 newWindow, 21 newWindow.gBrowser.selectedTab 22 ); 23 24 await BrowserTestUtils.browserLoaded(newTab.linkedBrowser); 25 26 await SpecialPowers.spawn( 27 newTab.linkedBrowser, 28 ["https://example.org"], 29 async ORIGIN => { 30 is(content.window.origin, ORIGIN); 31 } 32 ); 33 34 BrowserTestUtils.closeWindow(newWindow); 35 } 36 ); 37 });