summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/portals/portals-activate-empty-browsing-context.html
blob: 0c63e384977a9d9b62bbd7cb4b84b4239c326dbc (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
25
26
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
promise_test(async t => {
  assert_implements("HTMLPortalElement" in self);
  let portal = document.createElement('portal');
  document.body.appendChild(portal);
  t.add_cleanup(() => { document.body.removeChild(portal); });

  await promise_rejects_dom(t, 'InvalidStateError', portal.activate());
}, "A portal that has never been navigated cannot be activated");

promise_test(async t => {
  assert_implements("HTMLPortalElement" in self);
  let portal = document.createElement('portal');
  document.body.appendChild(portal);
  t.add_cleanup(() => { document.body.removeChild(portal); });

  // We use a status of 204 (No Content) as that couldn't possibly mature.
  portal.src = "/common/blank.html?pipe=status(204)"
  await promise_rejects_dom(t, 'InvalidStateError', portal.activate());
}, "A portal that has not completed an initial navigation cannot be activated");
</script>
</body>