MediaStreamTrack-iframe-transfer.https.html (1091B)
1 <!doctype html> 2 <title>MediaStreamTrack transfer to iframe</title> 3 <script src=/resources/testharness.js></script> 4 <script src=/resources/testharnessreport.js></script> 5 <script src="/resources/testdriver.js"></script> 6 <script src="/resources/testdriver-vendor.js"></script> 7 <script> 8 promise_test(async () => { 9 const iframe = document.createElement("iframe"); 10 await test_driver.bless('getDisplayMedia'); 11 const stream = await navigator.mediaDevices.getDisplayMedia({video: true}); 12 const track = stream.getVideoTracks()[0]; 13 const iframeLoaded = new Promise((resolve) => {iframe.onload = resolve}); 14 15 iframe.src = "support/iframe-MediaStreamTrack-transfer.html"; 16 document.body.appendChild(iframe); 17 18 await iframeLoaded; 19 20 const nextMessage = new Promise((resolve) => { 21 window.onmessage = resolve 22 }); 23 24 assert_not_equals(track.readyState, "ended"); 25 iframe.contentWindow.postMessage(track); 26 assert_equals(track.readyState, "ended"); 27 28 const message = await nextMessage; 29 assert_not_equals(message.data.result, 'Failure', 'Failed: ' + message.data.error); 30 }); 31 </script>