2 <script src=
"/resources/testharness.js"></script>
3 <script src=
"/resources/testharnessreport.js"></script>
4 <iframe id=
"i" src=
"/common/blank.html"></iframe>
7 window
.onload
= t
.step_func(() => {
8 i
.contentWindow
.navigation
.navigate("#", { replace
: true, state
: { data
: "value" } });
9 assert_equals(i
.contentWindow
.navigation
.entries().length
, 1);
10 assert_equals(i
.contentWindow
.navigation
.currentEntry
.getState().data
, "value");
12 let navigated_back
= false;
13 i
.contentWindow
.navigation
.navigate("?1");
14 i
.onload
= t
.step_func(() => {
16 let back_entry
= i
.contentWindow
.navigation
.currentEntry
;
17 assert_equals(i
.contentWindow
.navigation
.entries().length
, 2);
18 assert_equals(back_entry
.index
, 0);
19 assert_equals(back_entry
.getState().data
, "value");
22 assert_equals(i
.contentWindow
.navigation
.entries().length
, 2);
23 assert_equals(i
.contentWindow
.navigation
.currentEntry
, i
.contentWindow
.navigation
.entries()[1]);
24 assert_equals(i
.contentWindow
.navigation
.currentEntry
.getState(), undefined);
26 navigated_back
= true;
30 }, "appHistoryEntry.getState() behavior after navigating away and back");