<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/helpers.js"></script>
<iframe id="i" src="/common/blank.html"></iframe>
<script>
promise_test(async t => {
await new Promise(resolve => window.onload = resolve);
const iWindow = i.contentWindow;
const iDOMException = iWindow.DOMException;
const trappedState = {
get prop() {
i.remove();
return "whatever";
}
};
await assertBothRejectDOM(t, i.contentWindow.navigation.navigate("#1", { state: trappedState }), "InvalidStateError", iWindow, iDOMException);
}, "navigate() promise rejections when detaching an iframe inside state serialization");
</script>