| <!doctype html> |
| <title>MediaStreamTrack transfer to Worker</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script src=/resources/testdriver.js></script> |
| <script src=/resources/testdriver-vendor.js></script> |
| <script src=permission-helper.js></script> |
| <script id="workerCode" type="javascript/worker"> |
| self.onmessage = (track) => {} |
| </script> |
| <script> |
| promise_test(async () => { |
| const workerBlob = new Blob([document.querySelector('#workerCode').textContent], |
| {type: "text/javascript"}); |
| const workerUrl = window.URL.createObjectURL(workerBlob); |
| const worker = new Worker(workerUrl); |
| window.URL.revokeObjectURL(workerUrl); |
| |
| await setMediaPermission("granted", ["camera"]); |
| const stream = await navigator.mediaDevices.getUserMedia({video: true}); |
| const track = stream.getVideoTracks()[0]; |
| worker.postMessage(track, [track]); |
| }); |
| </script> |