| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| promise_test(async t => { |
| assert_implements("HTMLPortalElement" in self); |
| let waitForMessage = new Promise((resolve, reject) => { |
| window.onmessage = e => resolve(e.data); |
| }); |
| window.open("resources/portal-activate-twice-window-1.html"); |
| let error = await waitForMessage; |
| assert_equals(error, "InvalidStateError"); |
| }, "Calling activate when a portal is already activating should fail"); |
| |
| promise_test(async t => { |
| assert_implements("HTMLPortalElement" in self); |
| let waitForMessage = new Promise((resolve, reject) => { |
| window.onmessage = e => resolve(e.data); |
| }); |
| window.open("resources/portal-activate-twice-window-2.html"); |
| let error = await waitForMessage; |
| assert_equals(error, "InvalidStateError"); |
| }); |
| </script> |