summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/navigation-api/navigation-methods/return-value/navigate-rejection-order-detached-unserializablestate.html
blob: 2c6f9a28d49c19bcff79daa01a80ec330a1da18d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!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;

  i.remove();

  iWindow.navigation.onnavigate = t.unreached_func("onnavigate");

  await assertBothRejectDOM(t, iWindow.navigation.navigate("https://example.com/", { state: document.body }), "DataCloneError", iWindow, iDOMException);
}, `navigate() with unserializable state in a detached iframe throws "DataCloneError", not "InvalidStateError"`);
</script>