36 lines
1.5 KiB
HTML
36 lines
1.5 KiB
HTML
<!doctype html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<iframe id="i" src="/common/blank.html"></iframe>
|
|
<script>
|
|
async_test(t => {
|
|
window.onload = t.step_func(() => {
|
|
let target_key = i.contentWindow.navigation.currentEntry.key;
|
|
let target_id = i.contentWindow.navigation.currentEntry.id;
|
|
i.contentWindow.navigation.navigate("?foo");
|
|
i.onload = t.step_func(() => {
|
|
let beforeunload_called = false;
|
|
i.contentWindow.navigation.onnavigate = t.step_func_done(e => {
|
|
assert_true(beforeunload_called);
|
|
assert_equals(e.navigationType, "traverse");
|
|
assert_false(e.cancelable);
|
|
assert_false(e.canIntercept);
|
|
assert_false(e.userInitiated);
|
|
assert_false(e.hashChange);
|
|
assert_equals(e.downloadRequest, null);
|
|
assert_equals(new URL(e.destination.url).pathname, "/common/blank.html");
|
|
assert_false(e.destination.sameDocument);
|
|
assert_equals(e.destination.key, target_key);
|
|
assert_equals(e.destination.id, target_id);
|
|
assert_equals(e.destination.index, 0);
|
|
assert_equals(e.formData, null);
|
|
assert_equals(e.info, "hi");
|
|
assert_equals(e.sourceElement, null);
|
|
});
|
|
i.contentWindow.onbeforeunload = () => beforeunload_called = true;
|
|
assert_true(i.contentWindow.navigation.canGoBack);
|
|
i.contentWindow.navigation.back({ info: "hi" });
|
|
})
|
|
});
|
|
}, "navigate event for navigation.back() - cross-document");
|
|
</script>
|