Failing WPT test to initialize MSTG in shared worker
Bug: none
Change-Id: I363b78065cb717d51a7399d3981669dde6228f04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3398330
Reviewed-by: Tony Herre <toprice@chromium.org>
Commit-Queue: Palak Agarwal <agpalak@chromium.org>
Cr-Commit-Position: refs/heads/main@{#960327}
diff --git a/mediacapture-insertable-streams/MediaStreamTrackGenerator-in-shared-worker.https.html b/mediacapture-insertable-streams/MediaStreamTrackGenerator-in-shared-worker.https.html
new file mode 100644
index 0000000..deecfcc
--- /dev/null
+++ b/mediacapture-insertable-streams/MediaStreamTrackGenerator-in-shared-worker.https.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<title>Test initialize MediaStreamTrackGenerator in a shared worker</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+'use strict';
+
+promise_test(async t => {
+ const worker = new SharedWorker('shared-worker.js');
+ const result = new Promise((resolve, reject) => {
+ worker.port.onmessage = (e) => {
+ if (e.data.result === 'Failure') {
+ reject('Failed with error ' + e.data.error);
+ } else {
+ resolve();
+ }
+ };
+ });
+ worker.port.postMessage('Hello world');
+ return result;
+}, 'A shared worker is able to initialize a MediaStreamTrackGenerator without crashing');
+</script>
\ No newline at end of file
diff --git a/mediacapture-insertable-streams/shared-worker.js b/mediacapture-insertable-streams/shared-worker.js
new file mode 100644
index 0000000..61ff67b
--- /dev/null
+++ b/mediacapture-insertable-streams/shared-worker.js
@@ -0,0 +1,11 @@
+onconnect = (e) => {
+ const port = e.ports[0];
+ port.onmessage = (e) => {
+ try {
+ const generator = new MediaStreamTrackGenerator({kind: 'video'});
+ port.postMessage({result: 'Success'});
+ } catch (e) {
+ port.postMessage({result: 'Failure', error: e});
+ }
+ }
+}
\ No newline at end of file