tor-browser

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

state-after-navigate-restore.html (1361B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <iframe id="i" src="/common/blank.html"></iframe>
      5 <script>
      6 promise_test(async t => {
      7  await new Promise(resolve => window.onload = resolve);
      8  await i.contentWindow.navigation.navigate("#start", { history: "replace", state: "someState" });
      9  assert_equals(i.contentWindow.navigation.entries().length, 1);
     10  assert_equals(i.contentWindow.navigation.entries()[0].getState(), "someState");
     11 
     12  await i.contentWindow.navigation.navigate("#foo");
     13  assert_equals(i.contentWindow.navigation.entries().length, 2);
     14  assert_equals(i.contentWindow.navigation.entries()[0].getState(), "someState");
     15 
     16  i.contentWindow.navigation.navigate("/common/blank.html?bar");
     17  await new Promise(resolve => i.onload = resolve);
     18  assert_equals(i.contentWindow.navigation.entries().length, 3);
     19  assert_equals(i.contentWindow.navigation.entries()[0].getState(), "someState");
     20 
     21  i.contentWindow.navigation.back();
     22  await new Promise(resolve => i.onload = resolve);
     23  assert_equals(i.contentWindow.navigation.entries().length, 3);
     24  assert_equals(i.contentWindow.navigation.currentEntry.index, 1);
     25  assert_equals(i.contentWindow.navigation.entries()[0].getState(), "someState");
     26 }, "entry.getState() is properly restored after cross-document back");
     27 </script>