haikuwebkit/LayoutTests/webaudio/OfflineAudioContext
Chris Dumez fb70fe89a9 Fix type of exceptions thrown in the WebAudio API
https://bugs.webkit.org/show_bug.cgi?id=227959

Reviewed by Yusuke Suzuki.

LayoutTests/imported/w3c:

Resync WebAudio WPT tests from upstream 04ab41dced1f354873cab0 to gain test coverage and
rebaseline those tests.

* web-platform-tests/webaudio/resources/audit.js:
(Should.prototype.throw):
* web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html:
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-connect-method-chaining-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/different-contexts-expected.txt: Added.
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/different-contexts.html: Added.
* web-platform-tests/webaudio/the-audio-api/the-audionode-interface/w3c-import.log:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-registerprocessor-dynamic.https-expected.txt: Added.
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-registerprocessor-dynamic.https.html: Added.
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-constructor-options.https-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processors/dynamic-register-processor.js: Added.
(ProcessorA.prototype.process):
(ProcessorA):
(ProcessorB):
(ProcessorB.prototype.process):
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/processors/w3c-import.log:
* web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/w3c-import.log:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-basic-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/ctor-biquadfilter-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/ctor-channelsplitter-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/ctor-channelsplitter.html:
* web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/ctor-delay-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/ctor-gain-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/ctor-iirfilter-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-mediastreamaudiodestinationnode-interface/ctor-mediastreamaudiodestination-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-offlineaudiocontext-interface/ctor-offlineaudiocontext-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/ctor-oscillator-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/ctor-waveshaper-expected.txt:

Source/WebCore:

The upstream webaudio web-platform-tests were updated to validate the types of
exceptions thrown by various WebAudio APIs. It became obvious that our implementation
was not always throwing the right exception type and didn't match other browsers.

This patch updates our WebAudio implementation to keep the WebAudio WPT tests passing
now that they properly validate exception types.

No new tests, re-sync'd and rebaselined existing WPT webaudio tests.

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::create):
* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::connect):
(WebCore::AudioNode::setChannelCount):
* Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createScriptProcessor):
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::getFrequencyResponse):
* Modules/webaudio/ChannelSplitterNode.cpp:
(WebCore::ChannelSplitterNode::setChannelCount):
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::create):
* Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::setChannelCount):

LayoutTests:

Resync audit.js from upstream WPT and rebaseline webaudio tests.

* webaudio/OfflineAudioContext/offlineaudiocontext-constructor-expected.txt:
* webaudio/dom-exceptions-expected.txt:
* webaudio/resources/audit.js:
(Should.prototype.throw):


Canonical link: https://commits.webkit.org/239666@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-14 20:39:39 +00:00
..
bad-buffer-length-expected.txt
bad-buffer-length.html
offlineaudiocontext-can-only-render-once-expected.txt webaudio/AudioListener/audiolistener-set-position.html is leaking PannerNodes 2021-04-12 21:28:25 +00:00
offlineaudiocontext-can-only-render-once.html webaudio/AudioListener/audiolistener-set-position.html is leaking PannerNodes 2021-04-12 21:28:25 +00:00
offlineaudiocontext-constructor-expected.txt Fix type of exceptions thrown in the WebAudio API 2021-07-14 20:39:39 +00:00
offlineaudiocontext-constructor.html
offlineaudiocontext-event-listener-gc-expected.txt
offlineaudiocontext-event-listener-gc.html
offlineaudiocontext-leak-after-rendering-expected.txt [ macOS ] 3 webaudio/OfflineAudioContext/ layout-tests are flakey text failures 2021-04-10 17:11:03 +00:00
offlineaudiocontext-leak-after-rendering-with-nodes-expected.txt webaudio/AudioListener/audiolistener-set-position.html is leaking PannerNodes 2021-04-12 21:28:25 +00:00
offlineaudiocontext-leak-after-rendering-with-nodes.html webaudio/AudioListener/audiolistener-set-position.html is leaking PannerNodes 2021-04-12 21:28:25 +00:00
offlineaudiocontext-leak-after-rendering.html [ macOS ] 3 webaudio/OfflineAudioContext/ layout-tests are flakey text failures 2021-04-10 17:11:03 +00:00
offlineaudiocontext-leak-expected.txt [ macOS ] 3 webaudio/OfflineAudioContext/ layout-tests are flakey text failures 2021-04-10 17:11:03 +00:00
offlineaudiocontext-leak-while-suspended-expected.txt [ macOS ] 3 webaudio/OfflineAudioContext/ layout-tests are flakey text failures 2021-04-10 17:11:03 +00:00
offlineaudiocontext-leak-while-suspended.html [ macOS ] 3 webaudio/OfflineAudioContext/ layout-tests are flakey text failures 2021-04-10 17:11:03 +00:00
offlineaudiocontext-leak.html [ macOS ] 3 webaudio/OfflineAudioContext/ layout-tests are flakey text failures 2021-04-10 17:11:03 +00:00
offlineaudiocontext-promise-basic-expected.txt
offlineaudiocontext-promise-basic.html
offlineaudiocontext-promise-expected.txt
offlineaudiocontext-promise.html
offlineaudiocontext-suspend-resume-basic-expected.txt
offlineaudiocontext-suspend-resume-basic.html
offlineaudiocontext-suspend-resume-eventhandler-expected.txt
offlineaudiocontext-suspend-resume-eventhandler.html
offlineaudiocontext-suspend-resume-graph-manipulation-expected.txt
offlineaudiocontext-suspend-resume-graph-manipulation.html
offlineaudiocontext-suspend-resume-promise-expected.txt
offlineaudiocontext-suspend-resume-promise.html
offlineaudiocontext-suspend-resume-sequence-expected.txt
offlineaudiocontext-suspend-resume-sequence.html
offlineaudiocontext-thread-smoke-test-expected.txt
offlineaudiocontext-thread-smoke-test.html
offlineaudiocontext-uninitialized-crash-expected.txt ASSERTION FAILED: context().isInitialized() ./Modules/webaudio/OfflineAudioDestinationNode.cpp(142) 2021-04-21 18:47:52 +00:00
offlineaudiocontext-uninitialized-crash.html ASSERTION FAILED: context().isInitialized() ./Modules/webaudio/OfflineAudioDestinationNode.cpp(142) 2021-04-21 18:47:52 +00:00
onstatechange-expected.txt
onstatechange.html