blob: dd39b25b23c3544780ae7a4b185226a767355a8a [file] [edit]
<html>
<body>
<script src="../../resources/gc.js"></script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
promise_test(async test => {
const worker = new Worker(URL.createObjectURL(new Blob([`
self.onmessage = e => {
self.onmessage = null;
const track = e.data;
const clone = track.clone();
const deviceId = clone.getSettings().deviceId;
[][deviceId]; // Atomize it.
self.deviceId = deviceId;
self.postMessage("PASS");
};
`])));
const stream = await navigator.mediaDevices.getUserMedia({audio: true});
const track = stream.getAudioTracks()[0];
worker.postMessage(track, [track]);
assert_equals(await new Promise(resolve => worker.onmessage = e => resolve(e.data)), "PASS");
worker.terminate();
gc();
}, "Get deviceId on worker cloned track");
</script>
</body>
</html>