diff options
Diffstat (limited to 'testing/web-platform/mozilla/tests/webgpu/webgpu/web_platform/worker/worker.js')
-rw-r--r-- | testing/web-platform/mozilla/tests/webgpu/webgpu/web_platform/worker/worker.js | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/testing/web-platform/mozilla/tests/webgpu/webgpu/web_platform/worker/worker.js b/testing/web-platform/mozilla/tests/webgpu/webgpu/web_platform/worker/worker.js index 8eff1ae8cd..f90a4db02e 100644 --- a/testing/web-platform/mozilla/tests/webgpu/webgpu/web_platform/worker/worker.js +++ b/testing/web-platform/mozilla/tests/webgpu/webgpu/web_platform/worker/worker.js @@ -1,6 +1,10 @@ /** * AUTO-GENERATED - DO NOT EDIT. Source: https://github.com/gpuweb/cts **/import { getGPU, setDefaultRequestAdapterOptions } from '../../../common/util/navigator_gpu.js';import { assert, objectEquals, iterRange } from '../../../common/util/util.js'; +// Should be WorkerGlobalScope, but importing lib "webworker" conflicts with lib "dom". + + + async function basicTest() { const adapter = await getGPU(null).requestAdapter(); assert(adapter !== null, 'Failed to get adapter.'); @@ -68,7 +72,7 @@ async function basicTest() { device.destroy(); } -self.onmessage = async (ev) => { +async function reportTestResults(ev) { const defaultRequestAdapterOptions = ev.data.defaultRequestAdapterOptions; setDefaultRequestAdapterOptions(defaultRequestAdapterOptions); @@ -79,5 +83,17 @@ self.onmessage = async (ev) => { } catch (err) { error = err.toString(); } - self.postMessage({ error }); + this.postMessage({ error }); +} + +self.onmessage = (ev) => { + void reportTestResults.call(ev.source || self, ev); +}; + +self.onconnect = (event) => { + const port = event.ports[0]; + + port.onmessage = (ev) => { + void reportTestResults.call(port, ev); + }; };
\ No newline at end of file |