LibWeb/WebAudio: Implement AudioNode::disconnect()

Destubs AudioNode::disconnect() and its related overloads.

Ensures that inverse connections are properly removed
when disconnecting AudioNodeConnections. Adds associated
WPT but skips them for now because they rely on
OfflineRenderContext::start_rendering to be fully implemented.
This commit is contained in:
Ben Eidson 2025-06-19 09:47:41 -04:00 committed by Andrew Kaster
parent 75d26b1610
commit 3aff12bbab
Notes: github-actions[bot] 2025-07-09 23:53:15 +00:00
7 changed files with 630 additions and 16 deletions

View file

@ -57,10 +57,10 @@ public:
void disconnect();
WebIDL::ExceptionOr<void> disconnect(WebIDL::UnsignedLong output);
void disconnect(GC::Ref<AudioNode> destination_node);
WebIDL::ExceptionOr<void> disconnect(GC::Ref<AudioNode> destination_node);
WebIDL::ExceptionOr<void> disconnect(GC::Ref<AudioNode> destination_node, WebIDL::UnsignedLong output);
WebIDL::ExceptionOr<void> disconnect(GC::Ref<AudioNode> destination_node, WebIDL::UnsignedLong output, WebIDL::UnsignedLong input);
void disconnect(GC::Ref<AudioParam> destination_param);
WebIDL::ExceptionOr<void> disconnect(GC::Ref<AudioParam> destination_param);
WebIDL::ExceptionOr<void> disconnect(GC::Ref<AudioParam> destination_param, WebIDL::UnsignedLong output);
// https://webaudio.github.io/web-audio-api/#dom-audionode-context