support-iframe.html (822B)
1 <!DOCTYPE HTML> 2 <meta charset="utf-8"> 3 <title>compute pressure iframe tester</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 async function messageHandler(e) { 8 if (e.data.command === 'start') { 9 return new Promise((resolve, reject) => { 10 const observer = new PressureObserver(()=> { 11 resolve('success'); 12 }); 13 observer.observe('cpu'); 14 window.setTimeout(() => { reject('timeout'); }, 1000); 15 }); 16 } else { 17 return Promise.reject(`unknown command "${e.data.command}"`); 18 } 19 } 20 21 window.onmessage = async (e) => { 22 let reply; 23 try { 24 reply = await messageHandler(e); 25 } catch (error) { 26 reply = error; 27 } 28 e.source.postMessage({ command: e.data.command, result: reply }, '*'); 29 } 30 </script>