зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1452822 [wpt PR 10386] - Cleanup several idlharness tests, a=testonly
Automatic update from web-platform-testsCleanup several idlharness tests Change-Id: I388e2a9605096886291fafdae428b78bfe21dea9 Reviewed-on: https://chromium-review.googlesource.com/992880 Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Reviewed-by: Joshua Bell <jsbell@chromium.org> Commit-Queue: Luke Bj <lukebjerring@chromium.org> Cr-Commit-Position: refs/heads/master@{#551840} -- wpt-commits: f78410bdbc77fdb1ab793c4582b9f16928796d50 wpt-pr: 10386
This commit is contained in:
Родитель
f5980f85aa
Коммит
df738eebaa
|
@ -368398,12 +368398,6 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"webaudio/the-audio-api/the-delaynode-interface/idl-test.html": [
|
|
||||||
[
|
|
||||||
"/webaudio/the-audio-api/the-delaynode-interface/idl-test.html",
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html": [
|
"webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html": [
|
||||||
[
|
[
|
||||||
"/webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html",
|
"/webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html",
|
||||||
|
@ -368428,12 +368422,6 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"webaudio/the-audio-api/the-gainnode-interface/idl-test.html": [
|
|
||||||
[
|
|
||||||
"/webaudio/the-audio-api/the-gainnode-interface/idl-test.html",
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html": [
|
"webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html": [
|
||||||
[
|
[
|
||||||
"/webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html",
|
"/webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html",
|
||||||
|
@ -425308,7 +425296,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"content-security-policy/securitypolicyviolation/idl.html": [
|
"content-security-policy/securitypolicyviolation/idl.html": [
|
||||||
"29c68c73b221ec65466645dfa5e9ecc1f2a0f007",
|
"266180135d8167bc47d6c7a73798e87aa1082bee",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"content-security-policy/securitypolicyviolation/img-src-redirect-upgrade-reporting.https.html": [
|
"content-security-policy/securitypolicyviolation/img-src-redirect-upgrade-reporting.https.html": [
|
||||||
|
@ -537388,7 +537376,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"css/cssom-view/interfaces.html": [
|
"css/cssom-view/interfaces.html": [
|
||||||
"0cecd644b3363618acd1496865578a15306e18fe",
|
"84067e6095d184488dc1c44a7ba17792d946976b",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"css/cssom-view/matchMedia.xht": [
|
"css/cssom-view/matchMedia.xht": [
|
||||||
|
@ -537904,7 +537892,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"css/cssom/interfaces.html": [
|
"css/cssom/interfaces.html": [
|
||||||
"de0fd22930a606a17da15291ca14321463316f11",
|
"42e325d3d7f6be7f557915072f61900ff611cef8",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"css/cssom/medialist-dynamic-001-ref.html": [
|
"css/cssom/medialist-dynamic-001-ref.html": [
|
||||||
|
@ -587624,7 +587612,7 @@
|
||||||
"manual"
|
"manual"
|
||||||
],
|
],
|
||||||
"pointerevents/extension/idlharness.html": [
|
"pointerevents/extension/idlharness.html": [
|
||||||
"c1ee780b59d596535e697db237a3af3aa019b2f7",
|
"1337bbb65f4748a7d5a076cbe73e4aa48a2a1eb8",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html": [
|
"pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html": [
|
||||||
|
@ -587660,7 +587648,7 @@
|
||||||
"manual"
|
"manual"
|
||||||
],
|
],
|
||||||
"pointerevents/idlharness.html": [
|
"pointerevents/idlharness.html": [
|
||||||
"ee6982f1735711a9ac3c8c3a1447eb96f8e8d61c",
|
"5d54a0bb419e989db76a2d4333e73d9ccbce511b",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"pointerevents/pointerevent_attributes_hoverable_pointers-manual.html": [
|
"pointerevents/pointerevent_attributes_hoverable_pointers-manual.html": [
|
||||||
|
@ -607227,10 +607215,6 @@
|
||||||
"622ca5f882644f183674cc07e55a69e63e5c85d9",
|
"622ca5f882644f183674cc07e55a69e63e5c85d9",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"webaudio/the-audio-api/the-delaynode-interface/idl-test.html": [
|
|
||||||
"4f75f58d7286231e48236d1736e5739b8007502e",
|
|
||||||
"testharness"
|
|
||||||
],
|
|
||||||
"webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html": [
|
"webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html": [
|
||||||
"96b405fd00ee657194de348ea46b263ba43f98a4",
|
"96b405fd00ee657194de348ea46b263ba43f98a4",
|
||||||
"testharness"
|
"testharness"
|
||||||
|
@ -607259,10 +607243,6 @@
|
||||||
"5f50c22eaa77f09d0fa8c6f6f5249fdbf7db4b24",
|
"5f50c22eaa77f09d0fa8c6f6f5249fdbf7db4b24",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"webaudio/the-audio-api/the-gainnode-interface/idl-test.html": [
|
|
||||||
"a2abc80981a4f6ec810850150cdcd149854daf4b",
|
|
||||||
"testharness"
|
|
||||||
],
|
|
||||||
"webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html": [
|
"webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html": [
|
||||||
"2205ec8f56472bd45e102cf57f10b4532b18a554",
|
"2205ec8f56472bd45e102cf57f10b4532b18a554",
|
||||||
"testharness"
|
"testharness"
|
||||||
|
|
|
@ -40,9 +40,9 @@
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
promise_test(async function() {
|
promise_test(async function() {
|
||||||
let dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||||
|
|
||||||
var idl_array = new IdlArray();
|
const idl_array = new IdlArray();
|
||||||
idl_array.add_untested_idls(document.querySelector('#untested').textContent);
|
idl_array.add_untested_idls(document.querySelector('#untested').textContent);
|
||||||
idl_array.add_untested_idls(dom, { only: ['Event', 'EventInit'] });
|
idl_array.add_untested_idls(dom, { only: ['Event', 'EventInit'] });
|
||||||
idl_array.add_idls(document.querySelector('#tested').textContent);
|
idl_array.add_idls(document.querySelector('#tested').textContent);
|
||||||
|
|
|
@ -22,7 +22,13 @@ function doTest([html, dom, uievents, cssom, geometry, cssom_view]) {
|
||||||
var idlArray = new IdlArray();
|
var idlArray = new IdlArray();
|
||||||
var svg = "interface SVGElement : Element {};";
|
var svg = "interface SVGElement : Element {};";
|
||||||
idlArray.add_untested_idls(html + dom + svg + cssom + geometry);
|
idlArray.add_untested_idls(html + dom + svg + cssom + geometry);
|
||||||
idlArray.add_untested_idls(uievents, { only: ['UIEvent', 'UIEventInit', 'MouseEvent', 'MouseEventInit', 'EventModifierInit'] });
|
idlArray.add_untested_idls(uievents, { only: [
|
||||||
|
'UIEvent',
|
||||||
|
'UIEventInit',
|
||||||
|
'MouseEvent',
|
||||||
|
'MouseEventInit',
|
||||||
|
'EventModifierInit']
|
||||||
|
});
|
||||||
idlArray.add_idls(cssom_view);
|
idlArray.add_idls(cssom_view);
|
||||||
|
|
||||||
idlArray.add_objects({
|
idlArray.add_objects({
|
||||||
|
|
|
@ -39,7 +39,13 @@ function doTest([html, dom, uievents, cssom]) {
|
||||||
var idlArray = new IdlArray();
|
var idlArray = new IdlArray();
|
||||||
var svg = "interface SVGElement : Element {};";
|
var svg = "interface SVGElement : Element {};";
|
||||||
idlArray.add_untested_idls(html + dom + svg);
|
idlArray.add_untested_idls(html + dom + svg);
|
||||||
idlArray.add_untested_idls(uievents, { only: ['UIEvent', 'UIEventInit', 'MouseEvent', 'MouseEventInit', 'EventModifierInit']});
|
idlArray.add_untested_idls(uievents, { only: [
|
||||||
|
'UIEvent',
|
||||||
|
'UIEventInit',
|
||||||
|
'MouseEvent',
|
||||||
|
'MouseEventInit',
|
||||||
|
'EventModifierInit'
|
||||||
|
]});
|
||||||
idlArray.add_idls(cssom);
|
idlArray.add_idls(cssom);
|
||||||
|
|
||||||
idlArray.add_objects({
|
idlArray.add_objects({
|
||||||
|
|
|
@ -52,10 +52,15 @@ promise_test(async function () {
|
||||||
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||||
const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text());
|
const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text());
|
||||||
|
|
||||||
var idl_array = new IdlArray();
|
const idl_array = new IdlArray();
|
||||||
idl_array.add_untested_idls(dom, { only: ['EventInit'] });
|
idl_array.add_untested_idls(dom, { only: ['EventInit'] });
|
||||||
idl_array.add_untested_idls(uievents, { only: ['UIEventInit', 'MouseEventInit', 'EventModifierInit'] });
|
idl_array.add_untested_idls(uievents, { only: [
|
||||||
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
|
'UIEventInit',
|
||||||
|
'MouseEventInit',
|
||||||
|
'EventModifierInit']
|
||||||
|
});
|
||||||
|
idl_array.add_untested_idls(
|
||||||
|
document.getElementById("untested_idl").textContent);
|
||||||
idl_array.add_idls(document.getElementById("idl").textContent);
|
idl_array.add_idls(document.getElementById("idl").textContent);
|
||||||
idl_array.test();
|
idl_array.test();
|
||||||
}, 'pointerevents extension interfaces');
|
}, 'pointerevents extension interfaces');
|
||||||
|
|
|
@ -95,10 +95,15 @@ partial interface Navigator {
|
||||||
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
|
||||||
const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text());
|
const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text());
|
||||||
|
|
||||||
var idl_array = new IdlArray();
|
const idl_array = new IdlArray();
|
||||||
idl_array.add_untested_idls(dom, { only: ['EventInit'] });
|
idl_array.add_untested_idls(dom, { only: ['EventInit'] });
|
||||||
idl_array.add_untested_idls(uievents, { only: ['UIEventInit', 'MouseEventInit', 'EventModifierInit'] });
|
idl_array.add_untested_idls(uievents, { only: [
|
||||||
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
|
'UIEventInit',
|
||||||
|
'MouseEventInit',
|
||||||
|
'EventModifierInit']
|
||||||
|
});
|
||||||
|
idl_array.add_untested_idls(
|
||||||
|
document.getElementById("untested_idl").textContent);
|
||||||
idl_array.add_idls(document.getElementById("idl").textContent);
|
idl_array.add_idls(document.getElementById("idl").textContent);
|
||||||
|
|
||||||
// Note that I don't bother including Document here because there are still
|
// Note that I don't bother including Document here because there are still
|
||||||
|
|
|
@ -1,159 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html class="a">
|
|
||||||
<head>
|
|
||||||
<title>DelayNode IDL Test</title>
|
|
||||||
<script src="/resources/testharness.js"></script>
|
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
|
||||||
<script src="/resources/idlharness.js"></script>
|
|
||||||
<script src="/resources/WebIDLParser.js"></script>
|
|
||||||
<script src="/webaudio/js/helpers.js"></script>
|
|
||||||
<style type="text/css">
|
|
||||||
#event-target-idl,
|
|
||||||
#base-audio-context-idl,
|
|
||||||
#audio-node-idl,
|
|
||||||
#audio-param-idl
|
|
||||||
{ visibility:hidden; height: 0px;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="a">
|
|
||||||
|
|
||||||
<pre id="event-target-idl">interface EventTarget {
|
|
||||||
void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
|
|
||||||
void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
|
|
||||||
boolean dispatchEvent(Event event);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
callback interface EventListener {
|
|
||||||
void handleEvent(Event event);
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
// Callback interfaces are not supported yet, but that's ok
|
|
||||||
interface EventListener {};
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<pre id="base-audio-context-idl">callback DecodeErrorCallback = void (DOMException error);
|
|
||||||
|
|
||||||
callback DecodeSuccessCallback = void (AudioBuffer decodedData);
|
|
||||||
|
|
||||||
interface BaseAudioContext : EventTarget {
|
|
||||||
readonly attribute AudioDestinationNode destination;
|
|
||||||
readonly attribute float sampleRate;
|
|
||||||
readonly attribute double currentTime;
|
|
||||||
readonly attribute AudioListener listener;
|
|
||||||
readonly attribute AudioContextState state;
|
|
||||||
readonly attribute double baseLatency;
|
|
||||||
Promise<void> resume ();
|
|
||||||
attribute EventHandler onstatechange;
|
|
||||||
AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
|
|
||||||
Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData, optional DecodeSuccessCallback successCallback, optional DecodeErrorCallback errorCallback);
|
|
||||||
AudioBufferSourceNode createBufferSource ();
|
|
||||||
ConstantSourceNode createConstantSource ();
|
|
||||||
ScriptProcessorNode createScriptProcessor (optional unsigned long bufferSize = 0
|
|
||||||
, optional unsigned long numberOfInputChannels = 2
|
|
||||||
, optional unsigned long numberOfOutputChannels = 2
|
|
||||||
);
|
|
||||||
AnalyserNode createAnalyser ();
|
|
||||||
GainNode createGain ();
|
|
||||||
DelayNode createDelay (optional double maxDelayTime);
|
|
||||||
BiquadFilterNode createBiquadFilter ();
|
|
||||||
IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
|
|
||||||
WaveShaperNode createWaveShaper ();
|
|
||||||
PannerNode createPanner ();
|
|
||||||
StereoPannerNode createStereoPanner ();
|
|
||||||
ConvolverNode createConvolver ();
|
|
||||||
ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6
|
|
||||||
);
|
|
||||||
ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6
|
|
||||||
);
|
|
||||||
DynamicsCompressorNode createDynamicsCompressor ();
|
|
||||||
OscillatorNode createOscillator ();
|
|
||||||
PeriodicWave createPeriodicWave (Float32Array real, Float32Array imag, optional PeriodicWaveConstraints constraints);
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<pre id="audio-node-idl">enum ChannelCountMode {
|
|
||||||
"max",
|
|
||||||
"clamped-max",
|
|
||||||
"explicit"
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ChannelInterpretation {
|
|
||||||
"speakers",
|
|
||||||
"discrete"
|
|
||||||
};
|
|
||||||
|
|
||||||
interface AudioNode : EventTarget {
|
|
||||||
|
|
||||||
void connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
|
|
||||||
void connect(AudioParam destination, optional unsigned long output = 0);
|
|
||||||
void disconnect(optional unsigned long output = 0);
|
|
||||||
|
|
||||||
readonly attribute BaseAudioContext context;
|
|
||||||
readonly attribute unsigned long numberOfInputs;
|
|
||||||
readonly attribute unsigned long numberOfOutputs;
|
|
||||||
|
|
||||||
// Channel up-mixing and down-mixing rules for all inputs.
|
|
||||||
attribute unsigned long channelCount;
|
|
||||||
attribute ChannelCountMode channelCountMode;
|
|
||||||
attribute ChannelInterpretation channelInterpretation;
|
|
||||||
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<pre id="audio-param-idl">interface AudioParam {
|
|
||||||
|
|
||||||
attribute float value;
|
|
||||||
readonly attribute float defaultValue;
|
|
||||||
readonly attribute float minValue;
|
|
||||||
readonly attribute float maxValue;
|
|
||||||
|
|
||||||
// Parameter automation.
|
|
||||||
void setValueAtTime(float value, double startTime);
|
|
||||||
void linearRampToValueAtTime(float value, double endTime);
|
|
||||||
void exponentialRampToValueAtTime(float value, double endTime);
|
|
||||||
|
|
||||||
// Exponentially approach the target value with a rate having the given time constant.
|
|
||||||
void setTargetAtTime(float target, double startTime, double timeConstant);
|
|
||||||
|
|
||||||
// Sets an array of arbitrary parameter values starting at time for the given duration.
|
|
||||||
// The number of values will be scaled to fit into the desired duration.
|
|
||||||
void setValueCurveAtTime(Float32Array values, double startTime, double duration);
|
|
||||||
|
|
||||||
// Cancels all scheduled parameter changes with times greater than or equal to startTime.
|
|
||||||
void cancelScheduledValues(double startTime);
|
|
||||||
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<pre id="delay-node-idl">dictionary DelayOptions : AudioNodeOptions {
|
|
||||||
double maxDelayTime = 1;
|
|
||||||
double delayTime = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
[Constructor(BaseAudioContext context, optional DelayOptions options)]
|
|
||||||
interface DelayNode : AudioNode {
|
|
||||||
|
|
||||||
readonly attribute AudioParam delayTime;
|
|
||||||
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<div id="log"></div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
promise_test(async function() {
|
|
||||||
const webAudioApi = await fetch('/interfaces/web-audio-api.idl').then(r => r.text());
|
|
||||||
|
|
||||||
var idl_array = new IdlArray();
|
|
||||||
idl_array.add_untested_idls(webAudioApi, { only: ['AudioNodeOptions']});
|
|
||||||
idl_array.add_untested_idls(document.getElementById("event-target-idl").textContent);
|
|
||||||
idl_array.add_untested_idls(document.getElementById("base-audio-context-idl").textContent);
|
|
||||||
idl_array.add_untested_idls(document.getElementById("audio-node-idl").textContent);
|
|
||||||
idl_array.add_untested_idls(document.getElementById("audio-param-idl").textContent);
|
|
||||||
idl_array.add_idls(document.getElementById("delay-node-idl").textContent);
|
|
||||||
|
|
||||||
delay_node = (new AudioContext).createDelay();
|
|
||||||
|
|
||||||
idl_array.add_objects({DelayNode: ["delay_node"]});
|
|
||||||
idl_array.test();
|
|
||||||
}, 'webaudio Delay interfaces');
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,157 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html class="a">
|
|
||||||
<head>
|
|
||||||
<title>GainNode IDL Test</title>
|
|
||||||
<script src="/resources/testharness.js"></script>
|
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
|
||||||
<script src="/resources/idlharness.js"></script>
|
|
||||||
<script src="/resources/WebIDLParser.js"></script>
|
|
||||||
<script src="/webaudio/js/helpers.js"></script>
|
|
||||||
<style type="text/css">
|
|
||||||
#event-target-idl,
|
|
||||||
#base-audio-context-idl,
|
|
||||||
#audio-node-idl,
|
|
||||||
#audio-param-idl
|
|
||||||
{ visibility:hidden; height: 0px;}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="a">
|
|
||||||
|
|
||||||
<pre id="event-target-idl">interface EventTarget {
|
|
||||||
void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
|
|
||||||
void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
|
|
||||||
boolean dispatchEvent(Event event);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
callback interface EventListener {
|
|
||||||
void handleEvent(Event event);
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
// Callback interfaces are not supported yet, but that's ok
|
|
||||||
interface EventListener {};
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<pre id="base-audio-context-idl">callback DecodeErrorCallback = void (DOMException error);
|
|
||||||
callback DecodeSuccessCallback = void (AudioBuffer decodedData);
|
|
||||||
|
|
||||||
interface BaseAudioContext : EventTarget {
|
|
||||||
readonly attribute AudioDestinationNode destination;
|
|
||||||
readonly attribute float sampleRate;
|
|
||||||
readonly attribute double currentTime;
|
|
||||||
readonly attribute AudioListener listener;
|
|
||||||
readonly attribute AudioContextState state;
|
|
||||||
readonly attribute double baseLatency;
|
|
||||||
Promise<void> resume ();
|
|
||||||
attribute EventHandler onstatechange;
|
|
||||||
AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
|
|
||||||
Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData, optional DecodeSuccessCallback successCallback, optional DecodeErrorCallback errorCallback);
|
|
||||||
AudioBufferSourceNode createBufferSource ();
|
|
||||||
ConstantSourceNode createConstantSource ();
|
|
||||||
ScriptProcessorNode createScriptProcessor (optional unsigned long bufferSize = 0
|
|
||||||
, optional unsigned long numberOfInputChannels = 2
|
|
||||||
, optional unsigned long numberOfOutputChannels = 2
|
|
||||||
);
|
|
||||||
AnalyserNode createAnalyser ();
|
|
||||||
GainNode createGain ();
|
|
||||||
DelayNode createDelay (optional double maxDelayTime);
|
|
||||||
BiquadFilterNode createBiquadFilter ();
|
|
||||||
IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
|
|
||||||
WaveShaperNode createWaveShaper ();
|
|
||||||
PannerNode createPanner ();
|
|
||||||
StereoPannerNode createStereoPanner ();
|
|
||||||
ConvolverNode createConvolver ();
|
|
||||||
ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6
|
|
||||||
);
|
|
||||||
ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6
|
|
||||||
);
|
|
||||||
DynamicsCompressorNode createDynamicsCompressor ();
|
|
||||||
OscillatorNode createOscillator ();
|
|
||||||
PeriodicWave createPeriodicWave (Float32Array real, Float32Array imag, optional PeriodicWaveConstraints constraints);
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<pre id="audio-node-idl">enum ChannelCountMode {
|
|
||||||
"max",
|
|
||||||
"clamped-max",
|
|
||||||
"explicit"
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ChannelInterpretation {
|
|
||||||
"speakers",
|
|
||||||
"discrete"
|
|
||||||
};
|
|
||||||
|
|
||||||
interface AudioNode : EventTarget {
|
|
||||||
|
|
||||||
void connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
|
|
||||||
void connect(AudioParam destination, optional unsigned long output = 0);
|
|
||||||
void disconnect(optional unsigned long output = 0);
|
|
||||||
|
|
||||||
readonly attribute BaseAudioContext context;
|
|
||||||
readonly attribute unsigned long numberOfInputs;
|
|
||||||
readonly attribute unsigned long numberOfOutputs;
|
|
||||||
|
|
||||||
// Channel up-mixing and down-mixing rules for all inputs.
|
|
||||||
attribute unsigned long channelCount;
|
|
||||||
attribute ChannelCountMode channelCountMode;
|
|
||||||
attribute ChannelInterpretation channelInterpretation;
|
|
||||||
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<pre id="audio-param-idl">interface AudioParam {
|
|
||||||
|
|
||||||
attribute float value;
|
|
||||||
readonly attribute float defaultValue;
|
|
||||||
readonly attribute float minValue;
|
|
||||||
readonly attribute float maxValue;
|
|
||||||
|
|
||||||
// Parameter automation.
|
|
||||||
void setValueAtTime(float value, double startTime);
|
|
||||||
void linearRampToValueAtTime(float value, double endTime);
|
|
||||||
void exponentialRampToValueAtTime(float value, double endTime);
|
|
||||||
|
|
||||||
// Exponentially approach the target value with a rate having the given time constant.
|
|
||||||
void setTargetAtTime(float target, double startTime, double timeConstant);
|
|
||||||
|
|
||||||
// Sets an array of arbitrary parameter values starting at time for the given duration.
|
|
||||||
// The number of values will be scaled to fit into the desired duration.
|
|
||||||
void setValueCurveAtTime(Float32Array values, double startTime, double duration);
|
|
||||||
|
|
||||||
// Cancels all scheduled parameter changes with times greater than or equal to startTime.
|
|
||||||
void cancelScheduledValues(double startTime);
|
|
||||||
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<pre id="gain-node-idl">dictionary GainOptions : AudioNodeOptions {
|
|
||||||
float gain = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
[Constructor(BaseAudioContext context, optional GainOptions options)]
|
|
||||||
interface GainNode : AudioNode {
|
|
||||||
|
|
||||||
readonly attribute AudioParam gain;
|
|
||||||
|
|
||||||
};</pre>
|
|
||||||
|
|
||||||
<div id="log"></div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
promise_test(async function () {
|
|
||||||
const webAudioApi = await fetch('/interfaces/web-audio-api.idl').then(r => r.text());
|
|
||||||
|
|
||||||
var idl_array = new IdlArray();
|
|
||||||
idl_array.add_untested_idls(webAudioApi, { only: ['AudioNodeOptions'] });
|
|
||||||
idl_array.add_untested_idls(document.getElementById("event-target-idl").textContent);
|
|
||||||
idl_array.add_untested_idls(document.getElementById("base-audio-context-idl").textContent);
|
|
||||||
idl_array.add_untested_idls(document.getElementById("audio-node-idl").textContent);
|
|
||||||
idl_array.add_untested_idls(document.getElementById("audio-param-idl").textContent);
|
|
||||||
idl_array.add_idls(document.getElementById("gain-node-idl").textContent);
|
|
||||||
|
|
||||||
gain_node = (new AudioContext).createGain();
|
|
||||||
|
|
||||||
idl_array.add_objects({GainNode: ["gain_node"]});
|
|
||||||
idl_array.test();
|
|
||||||
}, 'webaudio Gain interfaces');
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Загрузка…
Ссылка в новой задаче