blob: 0804c2c3a3de500bd1f6267b91140d19e6c8a924 [file] [log] [blame]
<!doctype html>
<title>Tests which global properties are exposed to AudioWorklets</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
var context;
promise_setup(async (t) => {
context = new AudioContext();
const filePath = 'processors/exposed-properties-processor.js';
await context.audioWorklet.addModule(filePath);
});
const get_exposed_properties = async (node) => {
const event = await new Promise((resolve) => {
node.port.onmessage = resolve;
});
return event.data.exposed_properties;
};
promise_test(async (t) => {
const options = {
numberOfInputs: 0,
numberOfOutputs: 1
};
const node = new AudioWorkletNode(context, 'exposed-properties-test', options);
const exposed_properties = await get_exposed_properties(node);
assert_true(exposed_properties.includes('WorkletGlobalScope'), 'WorkletGlobalScope is exposed');
assert_true(exposed_properties.includes('AudioWorkletGlobalScope'), 'AudioWorkletGlobalScope is exposed');
assert_true(exposed_properties.includes('AudioWorkletProcessor'), 'AudioWorkletProcessor is exposed');
assert_true(exposed_properties.includes('MessagePort'), 'MessagePort is exposed');
assert_true(exposed_properties.includes('MessageEvent'), 'MessageEvent is exposed');
}, 'Exposed properties');
</script>