tor-browser

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

cross-document-away-and-back.html (1445B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="resources/helpers.js"></script>
      5 <meta name="variant" content="?method=navigate">
      6 <meta name="variant" content="?method=updateCurrentEntry">
      7 
      8 <iframe id="i" src="/common/blank.html"></iframe>
      9 <script>
     10 async_test(t => {
     11  window.onload = t.step_func(() => {
     12    updateStateBasedOnTestVariant(i.contentWindow, { data : "value" });
     13    assert_equals(i.contentWindow.navigation.entries().length, 1);
     14    assert_equals(i.contentWindow.navigation.currentEntry.getState().data, "value");
     15 
     16    let navigated_back = false;
     17    i.contentWindow.navigation.navigate("?1");
     18    i.onload = t.step_func(() => {
     19      if (navigated_back) {
     20        let back_entry = i.contentWindow.navigation.currentEntry;
     21        assert_equals(i.contentWindow.navigation.entries().length, 2);
     22        assert_equals(back_entry.index, 0);
     23        assert_equals(back_entry.getState().data, "value");
     24        t.done();
     25      } else {
     26        assert_equals(i.contentWindow.navigation.entries().length, 2);
     27        assert_equals(i.contentWindow.navigation.currentEntry, i.contentWindow.navigation.entries()[1]);
     28        assert_equals(i.contentWindow.navigation.currentEntry.getState(), undefined);
     29        history.back();
     30        navigated_back = true;
     31      }
     32    });
     33  });
     34 }, "entry.getState() behavior after navigating away and back");
     35 </script>