summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/web-share/resources/post-message.html
blob: 30134e2901fdfa3c104b5837e982f02a31e9e512 (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
<!DOCTYPE html>
<meta charset="utf-8" />
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script>
  window.addEventListener("message", async (event) => {
    const {
      data: { action, data },
    } = event;
    const response = {};
    try {
      switch (action) {
        case "share":
          await test_driver.bless("share");
          await navigator.share(data);
          response.result = "unreached";
          break;
        case "canShare":
          response.result = navigator.canShare(data);
          break;
      }
    } catch (error) {
      response.result = "error";
      response.error = error.name;
    } finally {
      event.source.postMessage({ ...response, action }, "*");
    }
  });

  // send message to parent that we loaded
  function sendLoadMessage() {
    window.parent.postMessage({ action: "loaded" }, "*");
  }
</script>
<body onload="sendLoadMessage()"></body>