<!DOCTYPE HTML> <html> <head> <title>Test whether we can disable the AudioContext interface</title> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <script type="text/javascript" src="webaudio.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> </head> <body> <pre id="test"> <script class="testbody" type="text/javascript"> const webaudio_interfaces = [ "AudioContext", "OfflineAudioContext", "AudioContext", "OfflineAudioCompletionEvent", "AudioNode", "AudioDestinationNode", "AudioParam", "GainNode", "DelayNode", "AudioBuffer", "AudioBufferSourceNode", "MediaElementAudioSourceNode", "ScriptProcessorNode", "AudioProcessingEvent", "PannerNode", "AudioListener", "StereoPannerNode", "ConvolverNode", "AnalyserNode", "ChannelSplitterNode", "ChannelMergerNode", "DynamicsCompressorNode", "BiquadFilterNode", "IIRFilterNode", "WaveShaperNode", "OscillatorNode", "PeriodicWave", "MediaStreamAudioSourceNode", "MediaStreamAudioDestinationNode" ]; SimpleTest.waitForExplicitFinish(); addLoadEvent(function() { SpecialPowers.pushPrefEnv({"set": [["dom.webaudio.enabled", false]]}, function() { webaudio_interfaces.forEach((e) => ok(!window[e], e + " must be disabled when the Web Audio API is disabled")); SimpleTest.finish(); }); }); </script> </pre> </body> </html>