Description
Describe the issue
There are several globals such as TextEncoder
, TextDecoder
and URL
which seem to have been intentionally left out of AudioWorkletGlobalScope
. However, these are specified with [Exposed=*]
in WebIDL, which is defined as:
- If the [Exposed] extended attribute takes a wildcard
- The own exposure set is the set of all global names of all interfaces which have the [Global] extended attribute.
The definition of AudioWorkletGlobalScope
uses [Global]
, so should technically contain these:
[Global=(Worklet, AudioWorklet), Exposed=AudioWorklet]
interface AudioWorkletGlobalScope : WorkletGlobalScope {
undefined registerProcessor (DOMString name,
AudioWorkletProcessorConstructor processorCtor);
readonly attribute unsigned long long currentFrame;
readonly attribute double currentTime;
readonly attribute float sampleRate;
};
To be clear, I'm not saying they should be added to AudioWorkletGlobalScope
; I'm saying that it needs to be specified somewhere that they aren't there.
It's possible I may have just missed a note about this somewhere in the spec, but I couldn't find anything.
Where Is It
I'm not entirely sure whether this should be fixed in the Web Audio spec itself or the specs which define these globals with [Exposed=*]
.
Some possibilities, though: