Bug 1470045 [wpt PR 11595] - Auto-update the webaudio IDL file, a=testonly

Automatic update from web-platform-testsAuto-update the webaudio IDL file (#11595)

--

wpt-commits: 37f154addf55b4608276c85bd085ca36e70c417c
wpt-pr: 11595
This commit is contained in:
Luke Bjerring 2018-07-06 21:15:41 +00:00 коммит произвёл James Graham
Родитель 7c5dd42143
Коммит 53775758af
3 изменённых файлов: 90 добавлений и 94 удалений

Просмотреть файл

@ -289013,11 +289013,6 @@
{} {}
] ]
], ],
"interfaces/web-audio-api.idl": [
[
{}
]
],
"interfaces/web-bluetooth.idl": [ "interfaces/web-bluetooth.idl": [
[ [
{} {}
@ -289033,6 +289028,11 @@
{} {}
] ]
], ],
"interfaces/webaudio.idl": [
[
{}
]
],
"interfaces/webauthn.idl": [ "interfaces/webauthn.idl": [
[ [
{} {}
@ -592046,10 +592046,6 @@
"a68224b17684bd43309bef57e7ad835f5f324a3a", "a68224b17684bd43309bef57e7ad835f5f324a3a",
"support" "support"
], ],
"interfaces/web-audio-api.idl": [
"6e6a41a2b1dfde69171a8d28252cc3354c86b83e",
"support"
],
"interfaces/web-bluetooth.idl": [ "interfaces/web-bluetooth.idl": [
"48e51b15f2338d6b3b0a8c0a013b4f1bfdf6ca1f", "48e51b15f2338d6b3b0a8c0a013b4f1bfdf6ca1f",
"support" "support"
@ -592062,6 +592058,10 @@
"21b54128664c5962c29fd708ebba3d8d90987f26", "21b54128664c5962c29fd708ebba3d8d90987f26",
"support" "support"
], ],
"interfaces/webaudio.idl": [
"a2adb319de88d1d33080a837972caefa5c5c1946",
"support"
],
"interfaces/webauthn.idl": [ "interfaces/webauthn.idl": [
"1ae8b428644479b352fd5b1996677fd4dcdbb84b", "1ae8b428644479b352fd5b1996677fd4dcdbb84b",
"support" "support"
@ -622751,7 +622751,7 @@
"testharness" "testharness"
], ],
"webaudio/idlharness.https.html": [ "webaudio/idlharness.https.html": [
"af74995e367b63d17b5dea6bd2bfa9646ab08798", "ce6a8abcc0eb9863b0515d6ec2f16e7b42b4151c",
"testharness" "testharness"
], ],
"webaudio/js/buffer-loader.js": [ "webaudio/js/buffer-loader.js": [

Просмотреть файл

@ -1,6 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT // GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the Web Audio API spec. // Content of this file was automatically extracted from the
// See https://webaudio.github.io/web-audio-api/ // "Web Audio API" spec.
// See: https://webaudio.github.io/web-audio-api/
enum AudioContextState { enum AudioContextState {
"suspended", "suspended",
@ -21,34 +22,35 @@ interface BaseAudioContext : EventTarget {
readonly attribute AudioContextState state; readonly attribute AudioContextState state;
[SameObject, SecureContext] [SameObject, SecureContext]
readonly attribute AudioWorklet audioWorklet; readonly attribute AudioWorklet audioWorklet;
Promise<void> resume ();
attribute EventHandler onstatechange; attribute EventHandler onstatechange;
AnalyserNode createAnalyser ();
BiquadFilterNode createBiquadFilter ();
AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate); AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData,
optional DecodeSuccessCallback successCallback,
optional DecodeErrorCallback errorCallback);
AudioBufferSourceNode createBufferSource (); AudioBufferSourceNode createBufferSource ();
ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6);
ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
ConstantSourceNode createConstantSource (); ConstantSourceNode createConstantSource ();
ConvolverNode createConvolver ();
DelayNode createDelay (optional double maxDelayTime = 1.0);
DynamicsCompressorNode createDynamicsCompressor ();
GainNode createGain ();
IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
OscillatorNode createOscillator ();
PannerNode createPanner ();
PeriodicWave createPeriodicWave (sequence<float> real, sequence<float> imag, optional PeriodicWaveConstraints constraints);
ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0, ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0,
optional unsigned long numberOfInputChannels = 2, optional unsigned long numberOfInputChannels = 2,
optional unsigned long numberOfOutputChannels = 2); optional unsigned long numberOfOutputChannels = 2);
AnalyserNode createAnalyser ();
GainNode createGain ();
DelayNode createDelay (optional double maxDelayTime = 1.0);
BiquadFilterNode createBiquadFilter ();
IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
WaveShaperNode createWaveShaper ();
PannerNode createPanner ();
StereoPannerNode createStereoPanner (); StereoPannerNode createStereoPanner ();
ConvolverNode createConvolver (); WaveShaperNode createWaveShaper ();
ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6); Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData,
DynamicsCompressorNode createDynamicsCompressor (); optional DecodeSuccessCallback successCallback,
OscillatorNode createOscillator (); optional DecodeErrorCallback errorCallback);
PeriodicWave createPeriodicWave (sequence<float> real, sequence<float> imag, optional PeriodicWaveConstraints constraints); Promise<void> resume ();
}; };
[Exposed=Window]
enum AudioContextLatencyCategory { enum AudioContextLatencyCategory {
"balanced", "balanced",
"interactive", "interactive",
@ -69,13 +71,11 @@ interface AudioContext : BaseAudioContext {
MediaStreamAudioDestinationNode createMediaStreamDestination (); MediaStreamAudioDestinationNode createMediaStreamDestination ();
}; };
[Exposed=Window]
dictionary AudioContextOptions { dictionary AudioContextOptions {
(AudioContextLatencyCategory or double) latencyHint = "interactive"; (AudioContextLatencyCategory or double) latencyHint = "interactive";
float sampleRate; float sampleRate;
}; };
[Exposed=Window]
dictionary AudioTimestamp { dictionary AudioTimestamp {
double contextTime; double contextTime;
DOMHighResTimeStamp performanceTime; DOMHighResTimeStamp performanceTime;
@ -91,7 +91,6 @@ interface OfflineAudioContext : BaseAudioContext {
attribute EventHandler oncomplete; attribute EventHandler oncomplete;
}; };
[Exposed=Window]
dictionary OfflineAudioContextOptions { dictionary OfflineAudioContextOptions {
unsigned long numberOfChannels = 1; unsigned long numberOfChannels = 1;
required unsigned long length; required unsigned long length;
@ -104,7 +103,6 @@ interface OfflineAudioCompletionEvent : Event {
readonly attribute AudioBuffer renderedBuffer; readonly attribute AudioBuffer renderedBuffer;
}; };
[Exposed=Window]
dictionary OfflineAudioCompletionEventInit : EventInit { dictionary OfflineAudioCompletionEventInit : EventInit {
required AudioBuffer renderedBuffer; required AudioBuffer renderedBuffer;
}; };
@ -148,14 +146,12 @@ interface AudioNode : EventTarget {
attribute ChannelInterpretation channelInterpretation; attribute ChannelInterpretation channelInterpretation;
}; };
[Exposed=Window]
enum ChannelCountMode { enum ChannelCountMode {
"max", "max",
"clamped-max", "clamped-max",
"explicit" "explicit"
}; };
[Exposed=Window]
enum ChannelInterpretation { enum ChannelInterpretation {
"speakers", "speakers",
"discrete" "discrete"
@ -228,7 +224,6 @@ interface AudioBufferSourceNode : AudioScheduledSourceNode {
void start (optional double when = 0, void start (optional double when = 0,
optional double offset, optional double offset,
optional double duration); optional double duration);
void stop (optional double when = 0);
}; };
dictionary AudioBufferSourceOptions { dictionary AudioBufferSourceOptions {
@ -314,7 +309,7 @@ dictionary ChannelMergerOptions : AudioNodeOptions {
}; };
[Exposed=Window, [Exposed=Window,
Constructor (BaseAudioContext context, optional ChannelSplitterNode options)] Constructor (BaseAudioContext context, optional ChannelSplitterOptions options)]
interface ChannelSplitterNode : AudioNode { interface ChannelSplitterNode : AudioNode {
}; };
@ -396,7 +391,7 @@ dictionary IIRFilterOptions : AudioNodeOptions {
}; };
[Exposed=Window, [Exposed=Window,
Constructor (BaseAudioContext context, MediaElementAudioSourceOptions options)] Constructor (AudioContext context, MediaElementAudioSourceOptions options)]
interface MediaElementAudioSourceNode : AudioNode { interface MediaElementAudioSourceNode : AudioNode {
[SameObject] readonly attribute HTMLMediaElement mediaElement; [SameObject] readonly attribute HTMLMediaElement mediaElement;
}; };
@ -406,13 +401,13 @@ dictionary MediaElementAudioSourceOptions {
}; };
[Exposed=Window, [Exposed=Window,
Constructor (BaseAudioContext context, optional AudioNodeOptions options)] Constructor (AudioContext context, optional AudioNodeOptions options)]
interface MediaStreamAudioDestinationNode : AudioNode { interface MediaStreamAudioDestinationNode : AudioNode {
readonly attribute MediaStream stream; readonly attribute MediaStream stream;
}; };
[Exposed=Window, [Exposed=Window,
Constructor (BaseAudioContext context, MediaStreamAudioSourceOptions options)] Constructor (AudioContext context, MediaStreamAudioSourceOptions options)]
interface MediaStreamAudioSourceNode : AudioNode { interface MediaStreamAudioSourceNode : AudioNode {
[SameObject] readonly attribute MediaStream mediaStream; [SameObject] readonly attribute MediaStream mediaStream;
}; };
@ -558,6 +553,7 @@ interface AudioWorklet : Worklet {
[Global=(Worklet, AudioWorklet), Exposed=AudioWorklet] [Global=(Worklet, AudioWorklet), Exposed=AudioWorklet]
interface AudioWorkletGlobalScope : WorkletGlobalScope { interface AudioWorkletGlobalScope : WorkletGlobalScope {
void registerProcessor (DOMString name, VoidFunction processorCtor); void registerProcessor (DOMString name, VoidFunction processorCtor);
readonly attribute unsigned long long currentFrame;
readonly attribute double currentTime; readonly attribute double currentTime;
readonly attribute float sampleRate; readonly attribute float sampleRate;
}; };
@ -567,21 +563,13 @@ interface AudioParamMap {
readonly maplike<DOMString, AudioParam>; readonly maplike<DOMString, AudioParam>;
}; };
enum AudioWorkletProcessorState {
"pending",
"running",
"stopped",
"error"
};
[Exposed=Window, [Exposed=Window,
SecureContext, SecureContext,
Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options)] Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options)]
interface AudioWorkletNode : AudioNode { interface AudioWorkletNode : AudioNode {
readonly attribute AudioParamMap parameters; readonly attribute AudioParamMap parameters;
readonly attribute MessagePort port; readonly attribute MessagePort port;
readonly attribute AudioWorkletProcessorState processorState; attribute EventHandler onprocessorerror;
attribute EventHandler onprocessorstatechange;
}; };
dictionary AudioWorkletNodeOptions : AudioNodeOptions { dictionary AudioWorkletNodeOptions : AudioNodeOptions {
@ -589,7 +577,7 @@ dictionary AudioWorkletNodeOptions : AudioNodeOptions {
unsigned long numberOfOutputs = 1; unsigned long numberOfOutputs = 1;
sequence<unsigned long> outputChannelCount; sequence<unsigned long> outputChannelCount;
record<DOMString, double> parameterData; record<DOMString, double> parameterData;
object processorOptions = null; object? processorOptions = null;
}; };
[Exposed=AudioWorklet, [Exposed=AudioWorklet,
@ -603,4 +591,5 @@ dictionary AudioParamDescriptor {
float defaultValue = 0; float defaultValue = 0;
float minValue = -3.4028235e38; float minValue = -3.4028235e38;
float maxValue = 3.4028235e38; float maxValue = 3.4028235e38;
AutomationRate automationRate = "a-rate";
}; };

Просмотреть файл

@ -10,13 +10,13 @@
<script> <script>
'use strict'; 'use strict';
let sample_rate, context, buffer, worklet_node;
promise_test(async t => { promise_test(async t => {
const cssom = await fetch('/interfaces/cssom.idl').then(r => r.text()); const srcs = ['cssom', 'dom', 'html', 'uievents', 'mediacapture-main', 'webaudio'];
const dom = await fetch('/interfaces/dom.idl').then(r => r.text()); const [cssom, dom, html, uievents, mediacapture, webaudio] =
const html = await fetch('/interfaces/html.idl').then(r => r.text()); await Promise.all(
const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text()); srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
const mediacapture = await fetch('/interfaces/mediacapture-main.idl').then(r => r.text());
const webaudio = await fetch('/interfaces/web-audio-api.idl').then(r => r.text());
const idl_array = new IdlArray(); const idl_array = new IdlArray();
idl_array.add_idls(webaudio); idl_array.add_idls(webaudio);
@ -32,56 +32,63 @@ promise_test(async t => {
idl_array.add_untested_idls('interface WorkletGlobalScope {};'); idl_array.add_untested_idls('interface WorkletGlobalScope {};');
idl_array.add_untested_idls('interface Worklet {};'); idl_array.add_untested_idls('interface Worklet {};');
const sample_rate = 44100; try {
const context = new AudioContext; sample_rate = 44100;
const buffer = new AudioBuffer({length: 1, sampleRate: sample_rate}); context = new AudioContext;
buffer = new AudioBuffer({length: 1, sampleRate: sample_rate});
await context.audioWorklet.addModule( await context.audioWorklet.addModule(
'the-audio-api/the-audioworklet-interface/processors/dummy-processor.js'); 'the-audio-api/the-audioworklet-interface/processors/dummy-processor.js');
const worklet_node = new AudioWorkletNode(context, 'dummy'); worklet_node = new AudioWorkletNode(context, 'dummy');
} catch (e) {
// Ignore - errors will surface in each test_object below.
}
idl_array.add_objects({ idl_array.add_objects({
BaseAudioContext: [], BaseAudioContext: [],
AudioContext: [context], AudioContext: ['context'],
OfflineAudioContext: [new OfflineAudioContext(1, 1, sample_rate)], OfflineAudioContext: ['new OfflineAudioContext(1, 1, sample_rate)'],
OfflineAudioCompletionEvent: [ OfflineAudioCompletionEvent: [
new OfflineAudioCompletionEvent('', {renderedBuffer: buffer})], 'new OfflineAudioCompletionEvent("", {renderedBuffer: buffer})'],
AudioBuffer: [buffer], AudioBuffer: ['buffer'],
AudioNode: [], AudioNode: [],
AudioParam: [new AudioBufferSourceNode(context).playbackRate], AudioParam: ['new AudioBufferSourceNode(context).playbackRate'],
AudioScheduledSourceNode: [], AudioScheduledSourceNode: [],
AnalyserNode: [new AnalyserNode(context)], AnalyserNode: ['new AnalyserNode(context)'],
AudioBufferSourceNode: [new AudioBufferSourceNode(context)], AudioBufferSourceNode: ['new AudioBufferSourceNode(context)'],
AudioDestinationNode: [context.destination], AudioDestinationNode: ['context.destination'],
AudioListener: [context.listener], AudioListener: ['context.listener'],
AudioProcessingEvent: [new AudioProcessingEvent('', { AudioProcessingEvent: [`new AudioProcessingEvent('', {
playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer
})], })`],
BiquadFilterNode: [new BiquadFilterNode(context)], BiquadFilterNode: ['new BiquadFilterNode(context)'],
ChannelMergerNode: [new ChannelMergerNode(context)], ChannelMergerNode: ['new ChannelMergerNode(context)'],
ChannelSplitterNode: [new ChannelSplitterNode(context)], ChannelSplitterNode: ['new ChannelSplitterNode(context)'],
ConstantSourceNode: [new ConstantSourceNode(context)], ConstantSourceNode: ['new ConstantSourceNode(context)'],
ConvolverNode: [new ConvolverNode(context)], ConvolverNode: ['new ConvolverNode(context)'],
DelayNode: [new DelayNode(context)], DelayNode: ['new DelayNode(context)'],
DynamicsCompressorNode: [new DynamicsCompressorNode(context)], DynamicsCompressorNode: ['new DynamicsCompressorNode(context)'],
GainNode: [new GainNode(context)], GainNode: ['new GainNode(context)'],
IIRFilterNode: [ IIRFilterNode: [
new IIRFilterNode(context, {feedforward: [1], feedback: [1]})], 'new IIRFilterNode(context, {feedforward: [1], feedback: [1]})'
],
MediaElementAudioSourceNode: [ MediaElementAudioSourceNode: [
new MediaElementAudioSourceNode(context, {mediaElement: new Audio})], 'new MediaElementAudioSourceNode(context, {mediaElement: new Audio})'
],
MediaStreamAudioDestinationNode: [ MediaStreamAudioDestinationNode: [
new MediaStreamAudioDestinationNode(context)], 'new MediaStreamAudioDestinationNode(context)'
],
MediaStreamAudioSourceNode: [], MediaStreamAudioSourceNode: [],
MediaStreamTrackAudioSourceNode: [], MediaStreamTrackAudioSourceNode: [],
OscillatorNode: [new OscillatorNode(context)], OscillatorNode: ['new OscillatorNode(context)'],
PannerNode: [new PannerNode(context)], PannerNode: ['new PannerNode(context)'],
PeriodicWave: [new PeriodicWave(context)], PeriodicWave: ['new PeriodicWave(context)'],
ScriptProcessorNode: [context.createScriptProcessor()], ScriptProcessorNode: ['context.createScriptProcessor()'],
StereoPannerNode: [new StereoPannerNode(context)], StereoPannerNode: ['new StereoPannerNode(context)'],
WaveShaperNode: [new WaveShaperNode(context)], WaveShaperNode: ['new WaveShaperNode(context)'],
AudioWorklet: [context.audioWorklet], AudioWorklet: ['context.audioWorklet'],
AudioWorkletGlobalScope: [], AudioWorkletGlobalScope: [],
AudioParamMap: [worklet_node.parameters], AudioParamMap: ['worklet_node.parameters'],
AudioWorkletNode: [worklet_node], AudioWorkletNode: ['worklet_node'],
AudioWorkletProcessor: [], AudioWorkletProcessor: [],
}); });
idl_array.test(); idl_array.test();