post-message.html (1003B)
1 <!DOCTYPE html> 2 <meta charset="utf-8" /> 3 <script src="/resources/testdriver.js"></script> 4 <script src="/resources/testdriver-vendor.js"></script> 5 <script> 6 test_driver.set_test_context(parent); 7 8 window.addEventListener("message", async (event) => { 9 const { 10 data: { action, data }, 11 } = event; 12 const response = {}; 13 try { 14 switch (action) { 15 case "share": 16 await test_driver.bless("share"); 17 await navigator.share(data); 18 response.result = "unreached"; 19 break; 20 case "canShare": 21 response.result = navigator.canShare(data); 22 break; 23 } 24 } catch (error) { 25 response.result = "error"; 26 response.error = error.name; 27 } finally { 28 event.source.postMessage({ ...response, action }, "*"); 29 } 30 }); 31 32 // send message to parent that we loaded 33 function sendLoadMessage() { 34 window.parent.postMessage({ action: "loaded" }, "*"); 35 } 36 </script> 37 <body onload="sendLoadMessage()"></body>