diff options
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/worker/worker_launcher.ts')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/worker/worker_launcher.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/worker/worker_launcher.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/worker/worker_launcher.ts new file mode 100644 index 0000000000..72059eb99f --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/worker/worker_launcher.ts @@ -0,0 +1,18 @@ +import { getDefaultRequestAdapterOptions } from '../../../common/util/navigator_gpu.js'; + +export type TestResult = { + error: String | undefined; +}; + +export async function launchWorker() { + const selfPath = import.meta.url; + const selfPathDir = selfPath.substring(0, selfPath.lastIndexOf('/')); + const workerPath = selfPathDir + '/worker.js'; + const worker = new Worker(workerPath, { type: 'module' }); + + const promise = new Promise<TestResult>(resolve => { + worker.addEventListener('message', ev => resolve(ev.data as TestResult), { once: true }); + }); + worker.postMessage({ defaultRequestAdapterOptions: getDefaultRequestAdapterOptions() }); + return await promise; +} |