browser_restore_srcdoc.js (1120B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 function makeURL(srcdocValue) { 7 return `data:text/html;charset=utf-8,<iframe srcdoc="${srcdocValue}">`; 8 } 9 10 async function runTest(srcdocValue) { 11 forgetClosedWindows(); 12 13 // Open a new tab. 14 let tab = BrowserTestUtils.addTab(gBrowser, makeURL(srcdocValue)); 15 await promiseBrowserLoaded(tab.linkedBrowser); 16 17 // Close that tab. 18 await promiseRemoveTabAndSessionState(tab); 19 20 // Restore that tab. 21 tab = ss.undoCloseTab(window, 0); 22 await promiseTabRestored(tab); 23 24 // Verify contents were restored correctly. 25 let iframe = await SpecialPowers.spawn( 26 tab.linkedBrowser, 27 [], 28 () => content.document.querySelector("iframe").browsingContext 29 ); 30 await SpecialPowers.spawn(iframe, [srcdocValue], text => { 31 Assert.equal(content.document.body.innerText, text, "Didn't load neterror"); 32 }); 33 34 // Cleanup. 35 gBrowser.removeTab(tab); 36 } 37 38 add_task(async function test_non_blank() { 39 await runTest("value"); 40 }); 41 42 add_task(async function test_blank() { 43 await runTest(""); 44 });