The idl for OscillatorOptions is missing the default values as given by the spec here: https://webaudio.github.io/web-audio-api/#oscillatoroptions However, see also the spec issue https://github.com/WebAudio/web-audio-api/issues/1173 about how these default values behave.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ef006156fd62853a893617ca104f4ac2045e19c1 commit ef006156fd62853a893617ca104f4ac2045e19c1 Author: rtoy <rtoy@chromium.org> Date: Thu Apr 13 16:35:43 2017 Define default values for options dictionaries for WebAudio The IDL definitions for dictionaries for the options for WebAudio constructors were missing default values. Update IDL to include the default values and update the code so that checks aren't done when default values exist. BUG= 703677 , 710471 TEST=AudioParam/audioparam-clamp-time-to-current-time.html Review-Url: https://codereview.chromium.org/2760353002 Cr-Commit-Position: refs/heads/master@{#464437} [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/LayoutTests/webaudio/constructor/oscillator.html [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/AnalyserNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/AudioBufferSourceNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/AudioBufferSourceOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/BiquadFilterNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/BiquadFilterOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/DelayNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/DelayOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/DynamicsCompressorNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/DynamicsCompressorOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/GainNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/GainOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/OscillatorNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/OscillatorOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/PannerNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/PannerOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/PeriodicWave.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/PeriodicWaveConstraints.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/StereoPannerNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/StereoPannerOptions.idl [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/WaveShaperNode.cpp [modify] https://crrev.com/ef006156fd62853a893617ca104f4ac2045e19c1/third_party/WebKit/Source/modules/webaudio/WaveShaperOptions.idl
Comment 1 by rtoy@chromium.org
, Mar 21 2017