tor-browser

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

dispose-same-document-replaceState.html (1036B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script>
      5 test(t => {
      6  let start_index = navigation.currentEntry.index;
      7 
      8  const currentBefore = navigation.currentEntry;
      9 
     10  let disposeCalled = false;
     11  navigation.currentEntry.ondispose = t.step_func(e => {
     12    disposeCalled = true;
     13 
     14    assert_equals(e.constructor, Event);
     15    assert_equals(e.bubbles, false);
     16    assert_equals(e.cancelable, false);
     17    assert_equals(e.composed, false);
     18 
     19    assert_not_equals(navigation.currentEntry, currentBefore);
     20    assert_array_equals(navigation.entries().slice(start_index), [navigation.currentEntry]);
     21    assert_equals((new URL(navigation.currentEntry.url)).search, "?replacement");
     22    assert_equals(navigation.transition, null);
     23    assert_equals(location.search, "?replacement");
     24  });
     25 
     26  history.replaceState(null, "", "?replacement");
     27  assert_true(disposeCalled);
     28 }, "dispose events when doing a same-document replace using history.replaceState()");
     29 </script>