tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 });