<!doctype html>
<title>Multiple history traversals, last would be aborted</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
  var t = async_test();
  started = false;
  pages = []
  timer = null;
  start_test_wait = t.step_func(
    function() {
      clearTimeout(timer);
      timer = setTimeout(t.step_func(
        function() {
          try {
            assert_array_equals(pages, [6, 3], "Pages opened during history navigation");
            t.done();
          } finally {
           // win.close();
          }
        }
      ), 500);
    }
  );
  t.step(function() {win = window.open("history_entry.html?urls=history_entry.html,history_entry.html,history_entry.html,history_entry.html,traverse_the_history_2-1.html");
});
</script>
