summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/navigation-api/navigation-methods/return-value/reload-detach-in-serialization.html
blob: d958d9cc844daa7bb6853864f8a4f947a8748c62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!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.reload({ state: trappedState }), "InvalidStateError", iWindow, iDOMException);
}, "reload() promise rejections when detaching an iframe inside state serialization");
</script>