| <!doctype html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <iframe id="i" src="/common/blank.html"></iframe> |
| <script> |
| promise_test(async t => { |
| await new Promise(resolve => i.onload = resolve); |
| let iframe_constructor = i.contentWindow.DOMException; |
| let iframe_typeerror = i.contentWindow.TypeError; |
| let abort_signal; |
| let onabort_called = false; |
| i.contentWindow.navigation.onnavigate = t.step_func(e => { |
| abort_signal = e.signal; |
| abort_signal.onabort = () => onabort_called = true; |
| i.remove(); |
| }); |
| await promise_rejects_dom(t, 'AbortError', iframe_constructor, i.contentWindow.navigation.navigate("#1").committed); |
| assert_true(abort_signal.aborted); |
| assert_true(onabort_called); |
| }, "window detach inside AppHistoryNavigateEvent signals AppHistoryNavigateEvent.signal"); |
| </script> |