summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/portals/portal-activate-event.html
blob: 69d8a7c930ef5be41d1dc858a8094c9d0a5bda8a (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<title>Tests that the PortalActivateEvent is dispatched when a portal is activated</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
  async_test(function(t) {
    assert_implements("HTMLPortalElement" in self);
    let test = "eventlistener";
    var bc = new BroadcastChannel(`test-${test}`);
    bc.onmessage = t.step_func_done(function(e) {
      assert_equals(e.data, "passed");
      bc.close();
    });
    const portalUrl = encodeURIComponent(`portal-activate-event-portal.html?test=${test}`);
    window.open(`resources/portal-embed-and-activate.html?url=${portalUrl}`);
  }, "Tests that the PortalActivateEvent is dispatched when a portal is activated.");

  async_test(function(t) {
    assert_implements("HTMLPortalElement" in self);
    let test = "eventhandler";
    var bc = new BroadcastChannel(`test-${test}`);
    bc.onmessage = t.step_func_done(function(e) {
      assert_equals(e.data, "passed");
      bc.close();
    });
    const portalUrl = encodeURIComponent(`portal-activate-event-portal.html?test=${test}`);
    window.open(`resources/portal-embed-and-activate.html?url=${portalUrl}`);
  }, "Tests that the portalactivate event handler is dispatched when a portal is activated.");

  async_test(function(t) {
    assert_implements("HTMLPortalElement" in self);
    let test = "bodyeventhandler";
    var bc = new BroadcastChannel(`test-${test}`);
    bc.onmessage = t.step_func_done(function(e) {
      assert_equals(e.data, "passed");
      bc.close();
    });
    const portalUrl = encodeURIComponent(`portal-activate-event-portal.html?test=${test}`);
    window.open(`resources/portal-embed-and-activate.html?url=${portalUrl}`);
  }, "Tests that the HTMLBodyElement has the portalactivate event handler.");
</script>