<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[205065] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/205065">205065</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2016-08-26 19:01:11 -0700 (Fri, 26 Aug 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove support for ENABLE_LEGACY_WEB_AUDIO
https://bugs.webkit.org/show_bug.cgi?id=161262

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::noteGrainOn): Deleted.
* Modules/webaudio/AudioBufferSourceNode.h:
* Modules/webaudio/AudioBufferSourceNode.idl:
(WebCore::AudioScheduledSourceNode::noteOn): Deleted.
(WebCore::AudioScheduledSourceNode::noteOff): Deleted.
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
Remove the looping attribute, as well as the noteOn, noteOff, and noteGrainOn functions.

* Modules/webaudio/AudioContext.idl:
Remove the createGainNode, createDelayNode and createJavaScriptNode functions.

* Modules/webaudio/AudioParam.idl:
Remove the setTargetValueAtTime function.

* Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::type):
(WebCore::BiquadFilterNode::setType):
(WebCore::BiquadFilterNode::getFrequencyResponse):
* Modules/webaudio/BiquadFilterNode.h:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::BiquadProcessor):
(WebCore::BiquadProcessor::setType):
(WebCore::BiquadProcessor::getFrequencyResponse):
* Modules/webaudio/BiquadProcessor.h:
(WebCore::BiquadProcessor::type):
* bindings/js/JSBiquadFilterNodeCustom.cpp: Removed.
Rename BiquadProcessor::FilterType to BiquadFilterType and use it
directly from the IDL. Remove legacy filter constants from the IDL
and the need for a custom binding for the type attribute.

* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):
(WebCore::OscillatorNode::type): Deleted.
* Modules/webaudio/OscillatorNode.h:
(WebCore::OscillatorNode::type):
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PeriodicWave.cpp:
(WebCore::PeriodicWave::createSine):
(WebCore::PeriodicWave::createSquare):
(WebCore::PeriodicWave::createSawtooth):
(WebCore::PeriodicWave::createTriangle):
(WebCore::PeriodicWave::generateBasicWaveform):
* Modules/webaudio/PeriodicWave.h:
* bindings/js/JSOscillatorNodeCustom.cpp: Removed.
Remove noteOn and noteOff functions and the type integer constants.
Remove the need for a custom binding for the type attribute by renaming
the type enum OscillatorNode::Type and putting the enum in the IDL.

* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::setPanningModel):
(WebCore::PannerNode::distanceModel):
(WebCore::PannerNode::setDistanceModel):
(WebCore::PannerNode::panningModel): Deleted.
* Modules/webaudio/PannerNode.h:
(WebCore::PannerNode::panningModel):
* Modules/webaudio/PannerNode.idl:
* bindings/js/JSPannerNodeCustom.cpp: Removed.
* platform/audio/Distance.cpp:
(WebCore::DistanceEffect::DistanceEffect):
(WebCore::DistanceEffect::gain):
* platform/audio/Distance.h:
(WebCore::DistanceEffect::model):
(WebCore::DistanceEffect::setModel):
* platform/audio/EqualPowerPanner.cpp:
(WebCore::EqualPowerPanner::EqualPowerPanner):
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::HRTFPanner):
* platform/audio/Panner.cpp:
(WebCore::Panner::create):
* platform/audio/Panner.h:
(WebCore::Panner::panningModel):
(WebCore::Panner::Panner):
Replace the panning model and distance model integer constants
with IDL enum support, removing the need for a custom binding.
Rename the supporting C++ enums to work with the bindings.

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::constructJSAudioContext):
Remove deprecated way of creating an offline context.

* WebCore.xcodeproj/project.pbxproj:
Update files.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO.

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* webaudio/audiobuffersource-loop-points.html:
* webaudio/audiobuffersource-multi-channels.html:
* webaudio/audiobuffersource-playbackState-expected.txt:
* webaudio/audiobuffersource-playbackState.html:
* webaudio/audiobuffersource-playbackrate.html:
* webaudio/audiochannelmerger-stereo.html:
* webaudio/audiochannelsplitter.html:
* webaudio/audionode-connect-order.html:
* webaudio/audionode-expected.txt:
* webaudio/audionode.html:
* webaudio/audioparam-connect-audioratesignal.html:
* webaudio/audioparam-summingjunction.html:
* webaudio/audioprocessingevent.html:
* webaudio/automatic-pull-node.html:
* webaudio/biquad-allpass.html:
* webaudio/biquad-bandpass.html:
* webaudio/biquad-getFrequencyResponse.html:
* webaudio/biquad-highpass.html:
* webaudio/biquad-highshelf.html:
* webaudio/biquad-lowpass.html:
* webaudio/biquad-lowshelf.html:
* webaudio/biquad-notch.html:
* webaudio/biquad-peaking.html:
* webaudio/biquadfilternode-basic-expected.txt:
* webaudio/biquadfilternode-basic.html:
* webaudio/convolution-mono-mono.html:
* webaudio/delaynode-max-default-delay.html:
* webaudio/delaynode-max-nondefault-delay.html:
* webaudio/delaynode-maxdelay.html:
* webaudio/delaynode-scheduling.html:
* webaudio/delaynode.html:
* webaudio/distance-exponential-expected.txt:
* webaudio/distance-exponential.html:
* webaudio/distance-inverse-expected.txt:
* webaudio/distance-inverse.html:
* webaudio/distance-linear-expected.txt:
* webaudio/distance-linear.html:
* webaudio/gain-basic.html:
* webaudio/gain.html:
* webaudio/javascriptaudionode-zero-input-channels.html:
* webaudio/javascriptaudionode.html:
* webaudio/mixing.html:
* webaudio/note-grain-on-play-expected.txt: Removed.
* webaudio/note-grain-on-play.html: Removed.
* webaudio/note-grain-on-timing-expected.txt: Removed.
* webaudio/note-grain-on-timing.html: Removed.
* webaudio/oscillator-basic-expected.txt:
* webaudio/oscillator-basic.html:
* webaudio/oscillator-custom.html:
* webaudio/oscillator-sawtooth.html:
* webaudio/oscillator-sine.html:
* webaudio/oscillator-square.html:
* webaudio/oscillator-triangle.html:
* webaudio/pannernode-basic-expected.txt:
* webaudio/pannernode-basic.html:
* webaudio/resources/audio-testing.js:
* webaudio/resources/audioparam-testing.js:
* webaudio/resources/biquad-testing.js:
* webaudio/resources/distance-model-testing.js:
* webaudio/resources/javascriptaudionode-testing.js:
* webaudio/resources/oscillator-testing.js:
* webaudio/resources/panner-model-testing.js:
* webaudio/sample-accurate-scheduling.html:
* webaudio/stereo2mono-down-mixing.html:
* webaudio/up-mixing-mono-51.html:
* webaudio/up-mixing-mono-stereo.html:
* webaudio/up-mixing-stereo-51.html:
* webaudio/waveshaper.html:
Update tests for removal of ENABLE_LEGACY_WEB_AUDIO.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiobuffersourcelooppointshtml">trunk/LayoutTests/webaudio/audiobuffersource-loop-points.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiobuffersourcemultichannelshtml">trunk/LayoutTests/webaudio/audiobuffersource-multi-channels.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiobuffersourceplaybackStateexpectedtxt">trunk/LayoutTests/webaudio/audiobuffersource-playbackState-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiobuffersourceplaybackStatehtml">trunk/LayoutTests/webaudio/audiobuffersource-playbackState.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiobuffersourceplaybackratehtml">trunk/LayoutTests/webaudio/audiobuffersource-playbackrate.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiochannelmergerstereohtml">trunk/LayoutTests/webaudio/audiochannelmerger-stereo.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudiochannelsplitterhtml">trunk/LayoutTests/webaudio/audiochannelsplitter.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudionodeconnectorderhtml">trunk/LayoutTests/webaudio/audionode-connect-order.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudionodeexpectedtxt">trunk/LayoutTests/webaudio/audionode-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudioaudionodehtml">trunk/LayoutTests/webaudio/audionode.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudioparamconnectaudioratesignalhtml">trunk/LayoutTests/webaudio/audioparam-connect-audioratesignal.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudioparamsummingjunctionhtml">trunk/LayoutTests/webaudio/audioparam-summingjunction.html</a></li>
<li><a href="#trunkLayoutTestswebaudioaudioprocessingeventhtml">trunk/LayoutTests/webaudio/audioprocessingevent.html</a></li>
<li><a href="#trunkLayoutTestswebaudioautomaticpullnodehtml">trunk/LayoutTests/webaudio/automatic-pull-node.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadallpasshtml">trunk/LayoutTests/webaudio/biquad-allpass.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadbandpasshtml">trunk/LayoutTests/webaudio/biquad-bandpass.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadgetFrequencyResponsehtml">trunk/LayoutTests/webaudio/biquad-getFrequencyResponse.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadhighpasshtml">trunk/LayoutTests/webaudio/biquad-highpass.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadhighshelfhtml">trunk/LayoutTests/webaudio/biquad-highshelf.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadlowpasshtml">trunk/LayoutTests/webaudio/biquad-lowpass.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadlowshelfhtml">trunk/LayoutTests/webaudio/biquad-lowshelf.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadnotchhtml">trunk/LayoutTests/webaudio/biquad-notch.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadpeakinghtml">trunk/LayoutTests/webaudio/biquad-peaking.html</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadfilternodebasicexpectedtxt">trunk/LayoutTests/webaudio/biquadfilternode-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiobiquadfilternodebasichtml">trunk/LayoutTests/webaudio/biquadfilternode-basic.html</a></li>
<li><a href="#trunkLayoutTestswebaudioconvolutionmonomonohtml">trunk/LayoutTests/webaudio/convolution-mono-mono.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodelaynodemaxdefaultdelayhtml">trunk/LayoutTests/webaudio/delaynode-max-default-delay.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodelaynodemaxnondefaultdelayhtml">trunk/LayoutTests/webaudio/delaynode-max-nondefault-delay.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodelaynodemaxdelayhtml">trunk/LayoutTests/webaudio/delaynode-maxdelay.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodelaynodeschedulinghtml">trunk/LayoutTests/webaudio/delaynode-scheduling.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodelaynodehtml">trunk/LayoutTests/webaudio/delaynode.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodistanceexponentialexpectedtxt">trunk/LayoutTests/webaudio/distance-exponential-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiodistanceexponentialhtml">trunk/LayoutTests/webaudio/distance-exponential.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodistanceinverseexpectedtxt">trunk/LayoutTests/webaudio/distance-inverse-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiodistanceinversehtml">trunk/LayoutTests/webaudio/distance-inverse.html</a></li>
<li><a href="#trunkLayoutTestswebaudiodistancelinearexpectedtxt">trunk/LayoutTests/webaudio/distance-linear-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiodistancelinearhtml">trunk/LayoutTests/webaudio/distance-linear.html</a></li>
<li><a href="#trunkLayoutTestswebaudiogainbasichtml">trunk/LayoutTests/webaudio/gain-basic.html</a></li>
<li><a href="#trunkLayoutTestswebaudiogainhtml">trunk/LayoutTests/webaudio/gain.html</a></li>
<li><a href="#trunkLayoutTestswebaudiojavascriptaudionodezeroinputchannelshtml">trunk/LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html</a></li>
<li><a href="#trunkLayoutTestswebaudiojavascriptaudionodehtml">trunk/LayoutTests/webaudio/javascriptaudionode.html</a></li>
<li><a href="#trunkLayoutTestswebaudiomixinghtml">trunk/LayoutTests/webaudio/mixing.html</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatorbasicexpectedtxt">trunk/LayoutTests/webaudio/oscillator-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatorbasichtml">trunk/LayoutTests/webaudio/oscillator-basic.html</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatorcustomhtml">trunk/LayoutTests/webaudio/oscillator-custom.html</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatorsawtoothhtml">trunk/LayoutTests/webaudio/oscillator-sawtooth.html</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatorsinehtml">trunk/LayoutTests/webaudio/oscillator-sine.html</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatorsquarehtml">trunk/LayoutTests/webaudio/oscillator-square.html</a></li>
<li><a href="#trunkLayoutTestswebaudiooscillatortrianglehtml">trunk/LayoutTests/webaudio/oscillator-triangle.html</a></li>
<li><a href="#trunkLayoutTestswebaudiopannernodebasicexpectedtxt">trunk/LayoutTests/webaudio/pannernode-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudiopannernodebasichtml">trunk/LayoutTests/webaudio/pannernode-basic.html</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcesaudiotestingjs">trunk/LayoutTests/webaudio/resources/audio-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcesaudioparamtestingjs">trunk/LayoutTests/webaudio/resources/audioparam-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcesbiquadtestingjs">trunk/LayoutTests/webaudio/resources/biquad-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcesdistancemodeltestingjs">trunk/LayoutTests/webaudio/resources/distance-model-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcesjavascriptaudionodetestingjs">trunk/LayoutTests/webaudio/resources/javascriptaudionode-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcesoscillatortestingjs">trunk/LayoutTests/webaudio/resources/oscillator-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudioresourcespannermodeltestingjs">trunk/LayoutTests/webaudio/resources/panner-model-testing.js</a></li>
<li><a href="#trunkLayoutTestswebaudiosampleaccurateschedulinghtml">trunk/LayoutTests/webaudio/sample-accurate-scheduling.html</a></li>
<li><a href="#trunkLayoutTestswebaudiostereo2monodownmixinghtml">trunk/LayoutTests/webaudio/stereo2mono-down-mixing.html</a></li>
<li><a href="#trunkLayoutTestswebaudioupmixingmono51html">trunk/LayoutTests/webaudio/up-mixing-mono-51.html</a></li>
<li><a href="#trunkLayoutTestswebaudioupmixingmonostereohtml">trunk/LayoutTests/webaudio/up-mixing-mono-stereo.html</a></li>
<li><a href="#trunkLayoutTestswebaudioupmixingstereo51html">trunk/LayoutTests/webaudio/up-mixing-stereo-51.html</a></li>
<li><a href="#trunkLayoutTestswebaudiowaveshaperhtml">trunk/LayoutTests/webaudio/waveshaper.html</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodecpp">trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeh">trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeidl">trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextidl">trunk/Source/WebCore/Modules/webaudio/AudioContext.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioParamidl">trunk/Source/WebCore/Modules/webaudio/AudioParam.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioScheduledSourceNodecpp">trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioScheduledSourceNodeh">trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadDSPKernelcpp">trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadFilterNodecpp">trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadFilterNodeh">trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadFilterNodeidl">trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadProcessorcpp">trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioBiquadProcessorh">trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioOscillatorNodecpp">trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioOscillatorNodeh">trunk/Source/WebCore/Modules/webaudio/OscillatorNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioOscillatorNodeidl">trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPannerNodecpp">trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPannerNodeh">trunk/Source/WebCore/Modules/webaudio/PannerNode.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPannerNodeidl">trunk/Source/WebCore/Modules/webaudio/PannerNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPeriodicWavecpp">trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioPeriodicWaveh">trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSAudioContextCustomcpp">trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioDistancecpp">trunk/Source/WebCore/platform/audio/Distance.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioDistanceh">trunk/Source/WebCore/platform/audio/Distance.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioEqualPowerPannercpp">trunk/Source/WebCore/platform/audio/EqualPowerPanner.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioHRTFPannercpp">trunk/Source/WebCore/platform/audio/HRTFPanner.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioPannercpp">trunk/Source/WebCore/platform/audio/Panner.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioPannerh">trunk/Source/WebCore/platform/audio/Panner.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourcecmakeOptionsGTKcmake">trunk/Source/cmake/OptionsGTK.cmake</a></li>
<li><a href="#trunkSourcecmakeOptionsMaccmake">trunk/Source/cmake/OptionsMac.cmake</a></li>
<li><a href="#trunkSourcecmakeWebKitFeaturescmake">trunk/Source/cmake/WebKitFeatures.cmake</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsTestWebKitAPIConfigurationsFeatureDefinesxcconfig">trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestswebaudionotegrainonplayexpectedtxt">trunk/LayoutTests/webaudio/note-grain-on-play-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudionotegrainonplayhtml">trunk/LayoutTests/webaudio/note-grain-on-play.html</a></li>
<li><a href="#trunkLayoutTestswebaudionotegrainontimingexpectedtxt">trunk/LayoutTests/webaudio/note-grain-on-timing-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudionotegrainontiminghtml">trunk/LayoutTests/webaudio/note-grain-on-timing.html</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBiquadFilterNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSOscillatorNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPannerNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/ChangeLog        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,3 +1,80 @@
</span><ins>+2016-08-26  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for ENABLE_LEGACY_WEB_AUDIO
+        https://bugs.webkit.org/show_bug.cgi?id=161262
+
+        Reviewed by Anders Carlsson.
+
+        * webaudio/audiobuffersource-loop-points.html:
+        * webaudio/audiobuffersource-multi-channels.html:
+        * webaudio/audiobuffersource-playbackState-expected.txt:
+        * webaudio/audiobuffersource-playbackState.html:
+        * webaudio/audiobuffersource-playbackrate.html:
+        * webaudio/audiochannelmerger-stereo.html:
+        * webaudio/audiochannelsplitter.html:
+        * webaudio/audionode-connect-order.html:
+        * webaudio/audionode-expected.txt:
+        * webaudio/audionode.html:
+        * webaudio/audioparam-connect-audioratesignal.html:
+        * webaudio/audioparam-summingjunction.html:
+        * webaudio/audioprocessingevent.html:
+        * webaudio/automatic-pull-node.html:
+        * webaudio/biquad-allpass.html:
+        * webaudio/biquad-bandpass.html:
+        * webaudio/biquad-getFrequencyResponse.html:
+        * webaudio/biquad-highpass.html:
+        * webaudio/biquad-highshelf.html:
+        * webaudio/biquad-lowpass.html:
+        * webaudio/biquad-lowshelf.html:
+        * webaudio/biquad-notch.html:
+        * webaudio/biquad-peaking.html:
+        * webaudio/biquadfilternode-basic-expected.txt:
+        * webaudio/biquadfilternode-basic.html:
+        * webaudio/convolution-mono-mono.html:
+        * webaudio/delaynode-max-default-delay.html:
+        * webaudio/delaynode-max-nondefault-delay.html:
+        * webaudio/delaynode-maxdelay.html:
+        * webaudio/delaynode-scheduling.html:
+        * webaudio/delaynode.html:
+        * webaudio/distance-exponential-expected.txt:
+        * webaudio/distance-exponential.html:
+        * webaudio/distance-inverse-expected.txt:
+        * webaudio/distance-inverse.html:
+        * webaudio/distance-linear-expected.txt:
+        * webaudio/distance-linear.html:
+        * webaudio/gain-basic.html:
+        * webaudio/gain.html:
+        * webaudio/javascriptaudionode-zero-input-channels.html:
+        * webaudio/javascriptaudionode.html:
+        * webaudio/mixing.html:
+        * webaudio/note-grain-on-play-expected.txt: Removed.
+        * webaudio/note-grain-on-play.html: Removed.
+        * webaudio/note-grain-on-timing-expected.txt: Removed.
+        * webaudio/note-grain-on-timing.html: Removed.
+        * webaudio/oscillator-basic-expected.txt:
+        * webaudio/oscillator-basic.html:
+        * webaudio/oscillator-custom.html:
+        * webaudio/oscillator-sawtooth.html:
+        * webaudio/oscillator-sine.html:
+        * webaudio/oscillator-square.html:
+        * webaudio/oscillator-triangle.html:
+        * webaudio/pannernode-basic-expected.txt:
+        * webaudio/pannernode-basic.html:
+        * webaudio/resources/audio-testing.js:
+        * webaudio/resources/audioparam-testing.js:
+        * webaudio/resources/biquad-testing.js:
+        * webaudio/resources/distance-model-testing.js:
+        * webaudio/resources/javascriptaudionode-testing.js:
+        * webaudio/resources/oscillator-testing.js:
+        * webaudio/resources/panner-model-testing.js:
+        * webaudio/sample-accurate-scheduling.html:
+        * webaudio/stereo2mono-down-mixing.html:
+        * webaudio/up-mixing-mono-51.html:
+        * webaudio/up-mixing-mono-stereo.html:
+        * webaudio/up-mixing-stereo-51.html:
+        * webaudio/waveshaper.html:
+        Update tests for removal of ENABLE_LEGACY_WEB_AUDIO.
+
</ins><span class="cx"> 2016-08-23  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Adopted custom element's callbacks should continue to work
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiobuffersourcelooppointshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiobuffersource-loop-points.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiobuffersource-loop-points.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiobuffersource-loop-points.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     source.buffer = buffer;
</span><span class="cx">     source.playbackRate.value = playbackRate;
</span><span class="cx"> 
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx">     source.connect(gainNode);
</span><span class="cx">     gainNode.connect(context.destination);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiobuffersourcemultichannelshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiobuffersource-multi-channels.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiobuffersource-multi-channels.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiobuffersource-multi-channels.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     source.buffer = toneBuffer;
</span><span class="cx"> 
</span><span class="cx">     source.connect(context.destination);
</span><del>-    source.noteOn(0);
</del><ins>+    source.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = finishAudioTest;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiobuffersourceplaybackStateexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiobuffersource-playbackState-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiobuffersource-playbackState-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiobuffersource-playbackState-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -7,12 +7,9 @@
</span><span class="cx"> PASS SCHEDULED_STATE   3 second source scheduled to start at time 3
</span><span class="cx"> PASS PLAYING_STATE     2 second source starting at time 1
</span><span class="cx"> PASS FINISHED_STATE    1.25 second source starting at time 0
</span><del>-PASS SCHEDULED_STATE   1 second grain scheduled to start at time 3
-PASS PLAYING_STATE     2 second grain starting at time 0.5
-PASS FINISHED_STATE    1 second grain starting at time 0.5
</del><span class="cx"> PASS SCHEDULED_STATE   a looping 0.5 second source scheduled at time 3
</span><span class="cx"> PASS PLAYING_STATE     a looping 0.5 second source starting at time 1.25
</span><del>-PASS 3 are currently playing as expected.
</del><ins>+PASS 2 are currently playing as expected.
</ins><span class="cx"> PASS activeSourceCount and playbackState tests succeeded.
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiobuffersourceplaybackStatehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiobuffersource-playbackState.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiobuffersource-playbackState.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiobuffersource-playbackState.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -121,49 +121,32 @@
</span><span class="cx">                bufferSource.UNSCHEDULED_STATE,
</span><span class="cx">                &quot;Source has been created&quot;);
</span><span class="cx"> 
</span><del>-    // Test noteOn.
</del><ins>+    // Test start.
</ins><span class="cx"> 
</span><span class="cx">     createTest(3,
</span><del>-               function(s) { s.noteOn(renderTime + 1); },
</del><ins>+               function(s) { s.start(renderTime + 1); },
</ins><span class="cx">                bufferSource.SCHEDULED_STATE,
</span><span class="cx">                &quot;3 second source scheduled to start at time &quot; + (renderTime + 1));
</span><span class="cx"> 
</span><span class="cx">     createTest(2,
</span><del>-               function(s) { s.noteOn(1); },
</del><ins>+               function(s) { s.start(1); },
</ins><span class="cx">                bufferSource.PLAYING_STATE,
</span><span class="cx">                &quot;2 second source starting at time 1&quot;);
</span><span class="cx">       
</span><span class="cx">     createTest(1.25,
</span><del>-               function(s) { s.noteOn(0); },
</del><ins>+               function(s) { s.start(0); },
</ins><span class="cx">                bufferSource.FINISHED_STATE,
</span><span class="cx">                &quot;1.25 second source starting at time 0&quot;);
</span><span class="cx"> 
</span><del>-    // Test noteGrainOn.
-
-    createTest(3,
-               function(s) { s.noteGrainOn(renderTime + 1, 0, 1); },
-               bufferSource.SCHEDULED_STATE,
-               &quot;1 second grain scheduled to start at time &quot; + (renderTime + 1));
-  
-    createTest(3,
-               function(s) { s.noteGrainOn(0.5, 0, 2); },
-               bufferSource.PLAYING_STATE,
-               &quot;2 second grain starting at time 0.5&quot;);
-      
-    createTest(3,
-               function(s) { s.noteGrainOn(0.5, 0, 1); },
-               bufferSource.FINISHED_STATE,
-               &quot;1 second grain starting at time 0.5&quot;);
-
</del><span class="cx">     // Test looping source
</span><span class="cx"> 
</span><span class="cx">     createTest(0.5,
</span><del>-               function(s) { s.loop = true; s.noteOn(renderTime + 1); },
</del><ins>+               function(s) { s.loop = true; s.start(renderTime + 1); },
</ins><span class="cx">                bufferSource.SCHEDULED_STATE,
</span><span class="cx">                &quot;a looping 0.5 second source scheduled at time &quot; + (renderTime + 1));
</span><span class="cx"> 
</span><span class="cx">     createTest(0.5,
</span><del>-               function(s) { s.loop = true; s.noteOn(1.25); },
</del><ins>+               function(s) { s.loop = true; s.start(1.25); },
</ins><span class="cx">                bufferSource.PLAYING_STATE,
</span><span class="cx">                &quot;a looping 0.5 second source starting at time 1.25&quot;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiobuffersourceplaybackratehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiobuffersource-playbackrate.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiobuffersource-playbackrate.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiobuffersource-playbackrate.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     source.buffer = sinWaveBuffer;
</span><span class="cx">     source.playbackRate.value = playbackRate;
</span><span class="cx">     
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx">     source.connect(gainNode);
</span><span class="cx">     gainNode.connect(context.destination);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiochannelmergerstereohtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiochannelmerger-stereo.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiochannelmerger-stereo.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiochannelmerger-stereo.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -99,8 +99,8 @@
</span><span class="cx">     channelMerger.connect(context.destination);
</span><span class="cx"> 
</span><span class="cx">     // Trigger both sources to start at the beginning.
</span><del>-    bufferSource1.noteOn(0);
-    bufferSource2.noteOn(0);
</del><ins>+    bufferSource1.start(0);
+    bufferSource2.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkResult;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudiochannelsplitterhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audiochannelsplitter.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audiochannelsplitter.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audiochannelsplitter.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">     channelSplitter.connect(channelMerger, 0, 1);
</span><span class="cx">     channelSplitter.connect(channelMerger, 1, 0);
</span><span class="cx"> 
</span><del>-    sourceNode.noteOn(0);
</del><ins>+    sourceNode.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = checkResult;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudionodeconnectorderhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audionode-connect-order.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audionode-connect-order.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audionode-connect-order.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     bufferSource.buffer = toneBuffer;
</span><span class="cx">     bufferSource.connect(context.destination);
</span><span class="cx"> 
</span><del>-    var delay = context.createDelayNode();
</del><ins>+    var delay = context.createDelay();
</ins><span class="cx">     delay.delayTime.value = delayTimeSeconds;
</span><span class="cx"> 
</span><span class="cx">     // We connect delay node to gain node before anything is connected to delay node itself.
</span><span class="lines">@@ -54,11 +54,11 @@
</span><span class="cx">     // We do this because we try to trigger the ASSERT which might be fired due to AudioNode connection order,
</span><span class="cx">     // especially when gain node and delay node is involved e.g. https://bugs.webkit.org/show_bug.cgi?id=76685.
</span><span class="cx"> 
</span><del>-    var gain = context.createGainNode();
</del><ins>+    var gain = context.createGain();
</ins><span class="cx">     gain.connect(context.destination);
</span><span class="cx">     delay.connect(gain);
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = finishJSTest;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudionodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audionode-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audionode-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audionode-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,11 +1,7 @@
</span><del>-CONSOLE MESSAGE: line 98: Deprecated AudioContext constructor: use OfflineAudioContext instead
</del><span class="cx"> Basic tests for AudioNode API.
</span><span class="cx"> 
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><del>-PASS audioNode.noteOn() threw exception TypeError: Not enough arguments.
-PASS audioNode.noteGrainOn() threw exception TypeError: Not enough arguments.
-PASS audioNode.noteOff() threw exception TypeError: Not enough arguments.
</del><span class="cx"> PASS Source AudioNode has no inputs.
</span><span class="cx"> PASS Source AudioNode has one output.
</span><span class="cx"> PASS Destination AudioNode has one input.
</span><span class="lines">@@ -15,7 +11,7 @@
</span><span class="cx"> PASS connect() exception thrown for illegal input index.
</span><span class="cx"> PASS audioNode.connect(context.destination) succeeded.
</span><span class="cx"> PASS exception thrown when connecting to other context's node.
</span><del>-PASS exception thrown when creating audio context with not enough arguments.
</del><ins>+PASS exception thrown when creating audio context with too many arguments.
</ins><span class="cx"> PASS AudioNode is an EventTarget
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudionodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audionode.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audionode.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audionode.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -27,10 +27,6 @@
</span><span class="cx">     context = new webkitAudioContext();
</span><span class="cx">     window.audioNode = context.createBufferSource();
</span><span class="cx"> 
</span><del>-    shouldThrow(&quot;audioNode.noteOn()&quot;);
-    shouldThrow(&quot;audioNode.noteGrainOn()&quot;);
-    shouldThrow(&quot;audioNode.noteOff()&quot;);
-
</del><span class="cx">     // Check input and output numbers of AudioSourceNode.
</span><span class="cx">     if (audioNode.numberOfInputs === 0)
</span><span class="cx">         testPassed(&quot;Source AudioNode has no inputs.&quot;);
</span><span class="lines">@@ -93,12 +89,12 @@
</span><span class="cx">         testPassed(&quot;exception thrown when connecting to other context's node.&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // Create a new context with not enough arguments
</del><ins>+    // Create a new context with too many arguments
</ins><span class="cx">     try {
</span><span class="cx">         context2 = new webkitAudioContext(0, 0);
</span><del>-        testFailed(&quot;exception should be thrown when creating audio context with not enough arguments.&quot;);
</del><ins>+        testFailed(&quot;exception should be thrown when creating audio context with too many arguments.&quot;);
</ins><span class="cx">     } catch(e) {
</span><del>-        testPassed(&quot;exception thrown when creating audio context with not enough arguments.&quot;);
</del><ins>+        testPassed(&quot;exception thrown when creating audio context with too many arguments.&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Ensure it is an EventTarget
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudioparamconnectaudioratesignalhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audioparam-connect-audioratesignal.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audioparam-connect-audioratesignal.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audioparam-connect-audioratesignal.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     gainChangingSource.buffer = linearRampBuffer;
</span><span class="cx"> 
</span><span class="cx">     // Create a gain node controlling the gain of constantSource and make the connections.
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx"> 
</span><span class="cx">     // Intrinsic baseline gain of zero.
</span><span class="cx">     gainNode.gain.value = 0;
</span><span class="lines">@@ -98,8 +98,8 @@
</span><span class="cx">     gainChangingSource.connect(gainNode.gain);
</span><span class="cx"> 
</span><span class="cx">     // Start both sources at time 0.
</span><del>-    constantSource.noteOn(0);
-    gainChangingSource.noteOn(0);
</del><ins>+    constantSource.start(0);
+    gainChangingSource.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = checkResult;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudioparamsummingjunctionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audioparam-summingjunction.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audioparam-summingjunction.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audioparam-summingjunction.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     gainSource2.buffer = toneBuffer;
</span><span class="cx"> 
</span><span class="cx">     // Create a gain node controlling the gain of constantSource and make the connections.
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx"> 
</span><span class="cx">     // Intrinsic baseline gain.
</span><span class="cx">     // This gain value should be summed with gainSource1 and gainSource2.
</span><span class="lines">@@ -113,9 +113,9 @@
</span><span class="cx">     gainSource2.connect(gainNode.gain);
</span><span class="cx"> 
</span><span class="cx">     // Start all sources at time 0.
</span><del>-    constantSource.noteOn(0);
-    gainSource1.noteOn(0);
-    gainSource2.noteOn(0);
</del><ins>+    constantSource.start(0);
+    gainSource1.start(0);
+    gainSource2.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = checkResult;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioaudioprocessingeventhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/audioprocessingevent.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/audioprocessingevent.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/audioprocessingevent.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     oscillator.connect(scriptProcessorNode);
</span><span class="cx">     scriptProcessorNode.onaudioprocess = processAudioData;
</span><span class="cx"> 
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx"> 
</span><span class="cx">     scriptProcessorNode.connect(gainNode);
</span><span class="cx">     gainNode.connect(context.destination);
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioautomaticpullnodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/automatic-pull-node.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/automatic-pull-node.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/automatic-pull-node.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> function test1() {
</span><span class="cx">     constructCommonGraph();
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = test1Finished;
</span><span class="cx">     context.startRendering();
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> 
</span><span class="cx">     analyser.connect(context.destination);
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = test2Finished;
</span><span class="cx">     context.startRendering();
</span><span class="lines">@@ -108,10 +108,10 @@
</span><span class="cx"> function test3() {
</span><span class="cx">     constructCommonGraph();
</span><span class="cx"> 
</span><del>-    var gain = context.createGainNode();
</del><ins>+    var gain = context.createGain();
</ins><span class="cx">     analyser.connect(gain);
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = test3Finished;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadallpasshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-allpass.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-allpass.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-allpass.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">                             {cutoff : .5,   q :  0, gain : 1 },
</span><span class="cx">                             {cutoff : 0.25, q : 10, gain : 1 },
</span><span class="cx">                            ];
</span><del>-    createTestAndRun(context, f.ALLPASS, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;allpass&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadbandpasshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-bandpass.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-bandpass.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-bandpass.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 1, gain : 1 },
</span><span class="cx">                            ];
</span><span class="cx"> 
</span><del>-    createTestAndRun(context, f.BANDPASS, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;bandpass&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadgetFrequencyResponsehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-getFrequencyResponse.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-getFrequencyResponse.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-getFrequencyResponse.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> {
</span><span class="cx">     var sampleRate = filter.context.sampleRate;
</span><span class="cx">     var normalizedFreq = normalizedFrequency(filter.frequency.value, sampleRate);
</span><del>-    var filterCoefficients = createFilter(filterTypeIndex[filter.type], normalizedFreq, filter.Q.value, filter.gain.value);
</del><ins>+    var filterCoefficients = createFilter(filter.type, normalizedFreq, filter.Q.value, filter.gain.value);
</ins><span class="cx"> 
</span><span class="cx">     var magnitudes = [];
</span><span class="cx">     var phases = [];
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadhighpasshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-highpass.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-highpass.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-highpass.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 1, gain : 1 },
</span><span class="cx">                            ];
</span><span class="cx"> 
</span><del>-    createTestAndRun(context, f.HIGHPASS, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;highpass&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadhighshelfhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-highshelf.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-highshelf.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-highshelf.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 10, gain : 10 },
</span><span class="cx">                            ];
</span><span class="cx"> 
</span><del>-    createTestAndRun(context, f.HIGHSHELF, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;highshelf&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadlowpasshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-lowpass.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-lowpass.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-lowpass.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 1, gain : 1, detune : 100 },
</span><span class="cx">                             {cutoff : 0.01, q : 1, gain : 1, detune : -200 },
</span><span class="cx">                            ];
</span><del>-    createTestAndRun(context, f.LOWPASS, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;lowpass&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadlowshelfhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-lowshelf.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-lowshelf.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-lowshelf.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 10, gain : 10 },
</span><span class="cx">                            ];
</span><span class="cx"> 
</span><del>-    createTestAndRun(context, f.LOWSHELF, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;lowshelf&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadnotchhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-notch.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-notch.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-notch.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 10, gain : 1 },
</span><span class="cx">                            ];
</span><span class="cx"> 
</span><del>-    createTestAndRun(context, f.NOTCH, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;notch&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadpeakinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquad-peaking.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquad-peaking.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquad-peaking.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">                             {cutoff : 0.25, q : 10, gain : 10 },
</span><span class="cx">                            ];
</span><span class="cx"> 
</span><del>-    createTestAndRun(context, f.PEAKING, filterParameters);
</del><ins>+    createTestAndRun(context, &quot;peaking&quot;, filterParameters);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadfilternodebasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquadfilternode-basic-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquadfilternode-basic-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquadfilternode-basic-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -16,17 +16,8 @@
</span><span class="cx"> PASS Biquad filter type 'peaking' is settable.
</span><span class="cx"> PASS Biquad filter type 'notch' is settable.
</span><span class="cx"> PASS Biquad filter type 'allpass' is settable.
</span><del>-PASS Biquad filter type 0 is settable using legacy integer value.
-PASS Biquad filter type 1 is settable using legacy integer value.
-PASS Biquad filter type 2 is settable using legacy integer value.
-PASS Biquad filter type 3 is settable using legacy integer value.
-PASS Biquad filter type 4 is settable using legacy integer value.
-PASS Biquad filter type 5 is settable using legacy integer value.
-PASS Biquad filter type 6 is settable using legacy integer value.
-PASS Biquad filter type 7 is settable using legacy integer value.
-PASS Illegal filter type correctly throws exception.
-PASS Setting .type to illegal string value threw TypeError.
-PASS Setting .type to illegal type of Float32Array threw TypeError.
</del><ins>+PASS Setting .type to illegal string value did not throw an exception.
+PASS Setting .type to illegal type did not throw an exception.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiobiquadfilternodebasichtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/biquadfilternode-basic.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/biquadfilternode-basic.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/biquadfilternode-basic.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -56,14 +56,14 @@
</span><span class="cx">         testFailed(&quot;The default value of gain should be 0.&quot;);
</span><span class="cx"> 
</span><span class="cx">     // Check that all legal filter types can be set.
</span><del>-    var filterTypeArray = [{type: &quot;lowpass&quot;, integerType: filter.LOWPASS},
-                           {type: &quot;highpass&quot;, integerType: filter.HIGHPASS},
-                           {type: &quot;bandpass&quot;, integerType: filter.BANDPASS},
-                           {type: &quot;lowshelf&quot;, integerType: filter.LOWSHELF},
-                           {type: &quot;highshelf&quot;, integerType: filter.HIGHSHELF},
-                           {type: &quot;peaking&quot;, integerType: filter.PEAKING},
-                           {type: &quot;notch&quot;, integerType: filter.NOTCH},
-                           {type: &quot;allpass&quot;, integerType: filter.ALLPASS}];
</del><ins>+    var filterTypeArray = [{type: &quot;lowpass&quot;},
+                           {type: &quot;highpass&quot;},
+                           {type: &quot;bandpass&quot;},
+                           {type: &quot;lowshelf&quot;},
+                           {type: &quot;highshelf&quot;},
+                           {type: &quot;peaking&quot;},
+                           {type: &quot;notch&quot;},
+                           {type: &quot;allpass&quot;}];
</ins><span class="cx"> 
</span><span class="cx">     for (var i = 0; i &lt; filterTypeArray.length; ++i) {
</span><span class="cx">         try {
</span><span class="lines">@@ -81,36 +81,10 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // For legacy support, verify that we can set the type attribute as an integer value and
-    // verify that this translates correctly to the WebIDL enum value.
-    for (var i = 0; i &lt; filterTypeArray.length; ++i) {
-        try {
-            filter.type = filterTypeArray[i].integerType;
-            if (filter.type === filterTypeArray[i].type &amp;&amp; filterTypeArray[i].integerType === i) {
-                var message = &quot;Biquad filter type &quot; + i + &quot; is settable using legacy integer value.&quot;;
-                testPassed(message);
-            } else {
-                var message = &quot;Biquad filter type &quot; + i + &quot; was not correctly set using legacy integer value.&quot;;
-                testFailed(message);
-            }
-        } catch(e) {
-            var message = &quot;Biquad filter type &quot; + i + &quot; should not throw exception using legacy integer value.&quot;;
-            testFailed(message);
-        }
-    }
</del><ins>+    // Check that we don't throw an exception for illegal .type values as per WebIDL.
+    shouldNotThrowException(function() { filter.type = &quot;xyz12349jfksd&quot;; }, &quot;Setting .type to illegal string value&quot;);
+    shouldNotThrowException(function() { filter.type = new Float32Array(1); }, &quot;Setting .type to illegal type&quot;);
</ins><span class="cx"> 
</span><del>-    // Check that illegal filter type throws.
-    try {
-        filter.type = filter.ALLPASS + 1;
-        testFailed(&quot;Illegal filter type should throw exception.&quot;);
-    } catch(e) {
-        testPassed(&quot;Illegal filter type correctly throws exception.&quot;);
-    }
-
-    // Check specifically that we throw a TypeError.
-    shouldThrowTypeError(function() { filter.type = &quot;xyz12349jfksd&quot;; }, &quot;Setting .type to illegal string value&quot;);
-    shouldThrowTypeError(function() { filter.type = new Float32Array(1); }, &quot;Setting .type to illegal type of Float32Array&quot;);
-
</del><span class="cx">     finishJSTest();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioconvolutionmonomonohtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/convolution-mono-mono.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/convolution-mono-mono.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/convolution-mono-mono.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     bufferSource.connect(convolver);
</span><span class="cx">     convolver.connect(context.destination);
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkConvolvedResult(trianglePulse);
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodelaynodemaxdefaultdelayhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/delaynode-max-default-delay.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/delaynode-max-default-delay.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/delaynode-max-default-delay.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -30,13 +30,13 @@
</span><span class="cx">     var bufferSource = context.createBufferSource();
</span><span class="cx">     bufferSource.buffer = toneBuffer;
</span><span class="cx"> 
</span><del>-    var delay = context.createDelayNode();
</del><ins>+    var delay = context.createDelay();
</ins><span class="cx">     delayTimeSeconds = 1;
</span><span class="cx">     delay.delayTime.value = delayTimeSeconds;
</span><span class="cx"> 
</span><span class="cx">     bufferSource.connect(delay);
</span><span class="cx">     delay.connect(context.destination);
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkDelayedResult(toneBuffer);
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodelaynodemaxnondefaultdelayhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/delaynode-max-nondefault-delay.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/delaynode-max-nondefault-delay.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/delaynode-max-nondefault-delay.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -31,13 +31,13 @@
</span><span class="cx">     bufferSource.buffer = toneBuffer;
</span><span class="cx"> 
</span><span class="cx">     var maxDelay = 1.5;
</span><del>-    var delay = context.createDelayNode(maxDelay);
</del><ins>+    var delay = context.createDelay(maxDelay);
</ins><span class="cx">     delayTimeSeconds = maxDelay;
</span><span class="cx">     delay.delayTime.value = delayTimeSeconds;
</span><span class="cx"> 
</span><span class="cx">     bufferSource.connect(delay);
</span><span class="cx">     delay.connect(context.destination);
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkDelayedResult(toneBuffer);
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodelaynodemaxdelayhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/delaynode-maxdelay.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/delaynode-maxdelay.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/delaynode-maxdelay.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">     bufferSource.buffer = toneBuffer;
</span><span class="cx"> 
</span><span class="cx">     // Create a delay node with an explicit max delay time (greater than the default of 1 second).
</span><del>-    var delay = context.createDelayNode(2);
</del><ins>+    var delay = context.createDelay(2);
</ins><span class="cx">     // Set the delay time to a value greater than the default max delay so we can verify the delay
</span><span class="cx">     // is working for this case.
</span><span class="cx">     delayTimeSeconds = 1.5;
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx">     bufferSource.connect(delay);
</span><span class="cx">     delay.connect(context.destination);
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkDelayedResult(toneBuffer);
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodelaynodeschedulinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/delaynode-scheduling.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/delaynode-scheduling.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/delaynode-scheduling.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     var bufferSource = context.createBufferSource();
</span><span class="cx">     bufferSource.buffer = toneBuffer;
</span><span class="cx"> 
</span><del>-    var delay = context.createDelayNode();
</del><ins>+    var delay = context.createDelay();
</ins><span class="cx">     
</span><span class="cx">     // Schedule delay time at time zero.
</span><span class="cx">     delay.delayTime.setValueAtTime(delayTimeSeconds, 0);
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     bufferSource.connect(delay);
</span><span class="cx">     delay.connect(context.destination);
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkDelayedResult(toneBuffer);
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodelaynodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/delaynode.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/delaynode.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/delaynode.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx">     bufferSource.connect(delay);
</span><span class="cx">     delay.connect(context.destination);
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkDelayedResult(toneBuffer);
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodistanceexponentialexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/distance-exponential-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/distance-exponential-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/distance-exponential-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -2,10 +2,9 @@
</span><span class="cx"> 
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><del>-PASS Distance model value matched expected value.
</del><span class="cx"> PASS Number of impulses found matches number of panner nodes.
</span><span class="cx"> PASS Distance gains are correct.
</span><del>-PASS Distance test passed for distance model 2
</del><ins>+PASS Distance test passed for distance model exponential
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodistanceexponentialhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/distance-exponential.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/distance-exponential.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/distance-exponential.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -24,9 +24,9 @@
</span><span class="cx">           // Create offline audio context.
</span><span class="cx">           context = new webkitOfflineAudioContext(2, sampleRate * renderLengthSeconds, sampleRate);
</span><span class="cx"> 
</span><del>-          // Temp panner node so we can get the EXPONENTIAL_DISTANCE value.
</del><ins>+          // Temp panner node so we can get the exponential value.
</ins><span class="cx">           var tempPanner = context.createPanner();
</span><del>-          createTestAndRun(context, tempPanner.EXPONENTIAL_DISTANCE, 2);
</del><ins>+          createTestAndRun(context, &quot;exponential&quot;);
</ins><span class="cx">       }
</span><span class="cx"> 
</span><span class="cx">       runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodistanceinverseexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/distance-inverse-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/distance-inverse-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/distance-inverse-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -2,10 +2,9 @@
</span><span class="cx"> 
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><del>-PASS Distance model value matched expected value.
</del><span class="cx"> PASS Number of impulses found matches number of panner nodes.
</span><span class="cx"> PASS Distance gains are correct.
</span><del>-PASS Distance test passed for distance model 1
</del><ins>+PASS Distance test passed for distance model inverse
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodistanceinversehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/distance-inverse.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/distance-inverse.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/distance-inverse.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -24,9 +24,9 @@
</span><span class="cx">           // Create offline audio context.
</span><span class="cx">           context = new webkitOfflineAudioContext(2, sampleRate * renderLengthSeconds, sampleRate);
</span><span class="cx"> 
</span><del>-          // Temp panner node so we can get the INVERSE_DISTANCE value.
</del><ins>+          // Temp panner node so we can get the inverse value.
</ins><span class="cx">           var tempPanner = context.createPanner();
</span><del>-          createTestAndRun(context, tempPanner.INVERSE_DISTANCE, 1);
</del><ins>+          createTestAndRun(context, &quot;inverse&quot;);
</ins><span class="cx">       }
</span><span class="cx"> 
</span><span class="cx">       runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodistancelinearexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/distance-linear-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/distance-linear-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/distance-linear-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -2,10 +2,9 @@
</span><span class="cx"> 
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><del>-PASS Distance model value matched expected value.
</del><span class="cx"> PASS Number of impulses found matches number of panner nodes.
</span><span class="cx"> PASS Distance gains are correct.
</span><del>-PASS Distance test passed for distance model 0
</del><ins>+PASS Distance test passed for distance model linear
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiodistancelinearhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/distance-linear.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/distance-linear.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/distance-linear.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -24,9 +24,9 @@
</span><span class="cx">           // Create offline audio context.
</span><span class="cx">           context = new webkitOfflineAudioContext(2, sampleRate * renderLengthSeconds, sampleRate);
</span><span class="cx"> 
</span><del>-          // Create temp panner to get LINEAR_DISTANCE value for testing.
</del><ins>+          // Create temp panner to get linear value for testing.
</ins><span class="cx">           var pannerModel = context.createPanner();
</span><del>-          createTestAndRun(context, pannerModel.LINEAR_DISTANCE, 0);
</del><ins>+          createTestAndRun(context, &quot;linear&quot;);
</ins><span class="cx">       }
</span><span class="cx"> 
</span><span class="cx">       runTest();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiogainbasichtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/gain-basic.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/gain-basic.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/gain-basic.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">     var context = new webkitAudioContext();
</span><span class="cx"> 
</span><span class="cx">     // Create gain node.
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx"> 
</span><span class="cx">     if (gainNode.gain.toString().indexOf(&quot;AudioParam&quot;) &gt; -1)
</span><span class="cx">         testPassed(&quot;gain is of AudioParam type.&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiogainhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/gain.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/gain.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/gain.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     source.connect(gainNode);
</span><span class="cx">     gainNode.connect(context.destination);
</span><span class="cx"> 
</span><del>-    source.noteOn(time);
</del><ins>+    source.start(time);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> function init() {
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiojavascriptaudionodezeroinputchannelshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/javascriptaudionode-zero-input-channels.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     var node;
</span><span class="cx"> 
</span><span class="cx">     try {  
</span><del>-        node = context.createJavaScriptNode(bufferSize, 0, 1);
</del><ins>+        node = context.createScriptProcessor(bufferSize, 0, 1);
</ins><span class="cx">         testPassed(&quot;Successfully created JavaScriptAudioNode.&quot;);
</span><span class="cx">     } catch (e) {
</span><span class="cx">         testFailed(&quot;Failed to create JavaScriptAudioNode.&quot;);
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">     node.onaudioprocess = function(e) { };
</span><span class="cx">     source.connect(node);
</span><span class="cx">     node.connect(context.destination);
</span><del>-    source.noteOn(0);
</del><ins>+    source.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = checkResult;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiojavascriptaudionodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/javascriptaudionode.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/javascriptaudionode.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/javascriptaudionode.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx">     jsnode.connect(context.destination);
</span><span class="cx">     jsnode.onaudioprocess = processAudioData;
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     context.oncomplete = finishJSTest;
</span><span class="cx">     context.startRendering();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiomixinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/mixing.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/mixing.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/mixing.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -52,8 +52,8 @@
</span><span class="cx">     
</span><span class="cx">     source1.connect(context.destination);
</span><span class="cx">     source2.connect(context.destination);
</span><del>-    source1.noteOn(0);
-    source2.noteOn(0);
</del><ins>+    source1.start(0);
+    source2.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = finishAudioTest;
</span><span class="cx">     context.startRendering();    
</span></span></pre></div>
<a id="trunkLayoutTestswebaudionotegrainonplayexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/webaudio/note-grain-on-play-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/note-grain-on-play-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/note-grain-on-play-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,13 +0,0 @@
</span><del>-Test noteGrainOn offset rendering.
-
-On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
-
-PASS Found all 100 grains.
-PASS All 100 grains started at the correct time.
-PASS All 100 grains ended at the correct time.
-PASS All 100 grains contained the correct data.
-PASS noteGrainOn offset rendering tests passed.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestswebaudionotegrainonplayhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/webaudio/note-grain-on-play.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/note-grain-on-play.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/note-grain-on-play.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,135 +0,0 @@
</span><del>-&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src=&quot;resources/audio-testing.js&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;resources/note-grain-on-testing.js&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
-  &lt;/head&gt;
-
-  &lt;body&gt;
-    &lt;div id=&quot;description&quot;&gt;&lt;/div&gt;
-    &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
-
-    &lt;script&gt;
-      description(&quot;Test noteGrainOn offset rendering.&quot;);
-
-      // To test noteGrainOn, a single ramp signal is created.
-      // Various sections of the ramp are rendered by noteGrainOn() at
-      // different times, and we verify that the actual output
-      // consists of the correct section of the ramp at the correct
-      // time.
-      
-      var linearRampBuffer;
-
-      // Array of the grain offset used for each ramp played.
-      var grainOffsetTime = [];
-
-      // Verify the received signal is a ramp from the correct section
-      // of our ramp signal.
-      function verifyGrain(renderedData, startFrame, endFrame, grainIndex) {
-          var grainOffsetFrame = timeToSampleFrame(grainOffsetTime[grainIndex], sampleRate);
-          var grainFrameLength = endFrame - startFrame;
-          var ramp = linearRampBuffer.getChannelData(0);
-          var isCorrect = true;
-
-          var expected;
-          var actual;
-          var frame;
-      
-          for (var k = 0; k &lt; grainFrameLength; ++k) {
-              if (renderedData[startFrame + k] != ramp[grainOffsetFrame + k]) {
-                  expected = ramp[grainOffsetFrame + k];
-                  actual = renderedData[startFrame + k];
-                  frame = startFrame + k;
-                  isCorrect = false;
-                  break;
-              }
-          }
-          return { verified: isCorrect,
-                   expected : expected ,
-                   actual : actual,
-                   frame : frame };
-      }
-      
-      function checkResult(event) {
-          var buffer = event.renderedBuffer;
-          renderedData = buffer.getChannelData(0);
-          var nSamples = renderedData.length;
-
-          var success = true;
-
-          // Number of grains that we found that have incorrect data.
-          var invalidGrainDataCount = 0;
-      
-          var startEndFrames = findStartAndEndSamples(renderedData);
-
-          // Verify the start and stop times.  Not strictly needed for
-          // this test, but it's useful to know that if the ramp data
-          // appears to be incorrect.
-          success = success &amp;&amp; verifyStartAndEndFrames(startEndFrames);
-
-          // Loop through each of the rendered grains and check that
-          // each grain contains our expected ramp.
-          for (var k = 0; k &lt; startEndFrames.start.length; ++k) {
-              // Verify that the rendered data matches the expected
-              // section of our ramp signal.
-              var result = verifyGrain(renderedData, startEndFrames.start[k], startEndFrames.end[k], k);
-
-              if (!result.verified) {
-                  testFailed(&quot;Grain &quot; + k + &quot; incorrect.  Expected &quot; + result.expected + &quot; but received &quot; + result.actual + &quot; at sample frame &quot; + result.frame);
-                  ++invalidGrainDataCount;
-                  success = false;
-              }
-          }
-          
-          if (!invalidGrainDataCount) {
-              testPassed(&quot;All &quot; + numberOfTests + &quot; grains contained the correct data.&quot;);
-          } else {
-              testFailed(invalidGrainDataCount + &quot; grains out of &quot; + numberOfTests + &quot; did not contain the expected data.&quot;);
-              success = false;
-          }
-      
-          if (success) {
-              testPassed(&quot;noteGrainOn offset rendering tests passed.&quot;);
-          } else {
-              testFailed(&quot;noteGrainOn offset rendering tests failed.&quot;);
-          }
-
-          finishJSTest();
-      }
-
-      function runTest() {
-          if (window.testRunner) {
-              testRunner.dumpAsText();
-              testRunner.waitUntilDone();
-          }
-
-          window.jsTestIsAsync = true;
-
-          // Create offline audio context.
-          context = new webkitOfflineAudioContext(2, sampleRate * renderTime, sampleRate);
-
-          // Create a linear ramp for testing noteGrainOn.
-          linearRampBuffer = createSignalBuffer(context,
-                                                function(k) {
-                                                    // Want the ramp to start
-                                                    // with 1, not 0.
-                                                    return k + 1;
-                                                });    
-
-          var grainInfo = playAllGrains(context, linearRampBuffer, numberOfTests);
-
-          grainOffsetTime = grainInfo.grainOffsetTimes;
-
-          context.oncomplete = checkResult;
-          context.startRendering();
-      }
-      
-      runTest();
-      successfullyParsed = true;
-
-    &lt;/script&gt;
-
-    &lt;script src=&quot;../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestswebaudionotegrainontimingexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/webaudio/note-grain-on-timing-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/note-grain-on-timing-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/note-grain-on-timing-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-Test timing of noteGrainOn.
-
-On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
-
-PASS Found all 100 grains.
-PASS All 100 grains started at the correct time.
-PASS All 100 grains ended at the correct time.
-PASS noteGrainOn timing tests passed.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestswebaudionotegrainontiminghtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/webaudio/note-grain-on-timing.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/note-grain-on-timing.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/note-grain-on-timing.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,64 +0,0 @@
</span><del>-&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src=&quot;resources/audio-testing.js&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;resources/note-grain-on-testing.js&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
-  &lt;/head&gt;
-
-  &lt;body&gt;
-    &lt;div id=&quot;description&quot;&gt;&lt;/div&gt;
-    &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
-
-    &lt;script&gt;
-      description(&quot;Test timing of noteGrainOn.&quot;);
-
-      var squarePulseBuffer;
-
-      function checkResult(event) {
-          var buffer = event.renderedBuffer;
-          renderedData = buffer.getChannelData(0);
-          var nSamples = renderedData.length;
-
-          var success = true;
-      
-          var startEndFrames = findStartAndEndSamples(renderedData);
-
-          success = success &amp;&amp; verifyStartAndEndFrames(startEndFrames);
-
-          if (success) {
-              testPassed(&quot;noteGrainOn timing tests passed.&quot;);
-          } else {
-              testFailed(&quot;noteGrainOn timing tests failed.&quot;);
-          }
-
-          finishJSTest();
-      }
-
-      function runTest() {
-          if (window.testRunner) {
-              testRunner.dumpAsText();
-              testRunner.waitUntilDone();
-          }
-
-          window.jsTestIsAsync = true;
-
-          // Create offline audio context.
-          context = new webkitOfflineAudioContext(2, sampleRate * renderTime, sampleRate);
-
-          squarePulseBuffer = createSignalBuffer(context, function (k) { return 1 });    
-
-          playAllGrains(context, squarePulseBuffer, numberOfTests);
-
-          context.oncomplete = checkResult;
-          context.startRendering();
-      }
-      
-      runTest();
-      successfullyParsed = true;
-
-    &lt;/script&gt;
-
-    &lt;script src=&quot;../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatorbasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-basic-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-basic-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-basic-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -6,15 +6,10 @@
</span><span class="cx"> PASS Oscillator correctly set to SQUARE type.
</span><span class="cx"> PASS Oscillator correctly set to SAWTOOTH type.
</span><span class="cx"> PASS Oscillator correctly set to TRIANGLE type.
</span><del>-PASS Oscillator correctly set to SINE type using legacy integer value.
-PASS Oscillator correctly set to SQUARE type using legacy integer value.
-PASS Oscillator correctly set to SAWTOOTH type using legacy integer value.
-PASS Oscillator correctly set to TRIANGLE type using legacy integer value.
</del><span class="cx"> PASS Oscillator correctly set to CUSTOM type using setPeriodicWave.
</span><del>-PASS Directly setting oscillator type to CUSTOM correctly throws exception.
-PASS Setting oscillator to invalid type 5 correctly throws exception.
-PASS Setting .type to illegal string value threw TypeError.
-PASS Setting .type to illegal type of Float32Array threw TypeError.
</del><ins>+PASS Directly setting oscillator type to custom correctly throws exception.
+PASS Setting .type to illegal string value did not throw an exception.
+PASS Setting .type to illegal type did not throw an exception.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatorbasichtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-basic.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-basic.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-basic.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -19,11 +19,11 @@
</span><span class="cx"> var sampleRate = 44100;
</span><span class="cx"> var renderLengthSeconds = 0.25;
</span><span class="cx"> 
</span><del>-var oscTypes = [{type: &quot;sine&quot;, integerType: 0, name: &quot;SINE&quot;},
-                {type: &quot;square&quot;, integerType: 1, name: &quot;SQUARE&quot;},
-                {type: &quot;sawtooth&quot;, integerType: 2, name: &quot;SAWTOOTH&quot;},
-                {type: &quot;triangle&quot;, integerType: 3, name: &quot;TRIANGLE&quot;},
-                {type: &quot;custom&quot;, integerType: 4, name: &quot;CUSTOM&quot;}];
</del><ins>+var oscTypes = [{type: &quot;sine&quot;, name: &quot;SINE&quot;},
+                {type: &quot;square&quot;, name: &quot;SQUARE&quot;},
+                {type: &quot;sawtooth&quot;, name: &quot;SAWTOOTH&quot;},
+                {type: &quot;triangle&quot;, name: &quot;TRIANGLE&quot;},
+                {type: &quot;custom&quot;, name: &quot;CUSTOM&quot;}];
</ins><span class="cx"> 
</span><span class="cx"> function runTest() 
</span><span class="cx"> {
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     var context = new webkitOfflineAudioContext(2, sampleRate * renderLengthSeconds, sampleRate);
</span><span class="cx">     var osc = context.createOscillator();
</span><span class="cx"> 
</span><del>-    // Set each possible oscillator type (except CUSTOM) and verify that the type is correct.
</del><ins>+    // Set each possible oscillator type (except custom) and verify that the type is correct.
</ins><span class="cx">     // Here we're setting the type using WebIDL enum values which are strings.
</span><span class="cx">     for (var k = 0; k &lt; oscTypes.length - 1; ++k) {
</span><span class="cx">         osc.type = oscTypes[k].type;
</span><span class="lines">@@ -48,16 +48,6 @@
</span><span class="cx">             testFailed(&quot;Oscillator set to &quot; + oscTypes[k].name + &quot; type, but returns &quot; + oscTypes[osc.type].name + &quot; type.&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // For legacy support, verify that we can set the type attribute as an integer value and
-    // verify that this translates correctly to the WebIDL enum value.
-    for (var k = 0; k &lt; oscTypes.length - 1; ++k) {
-        osc.type = oscTypes[k].integerType;
-        if (osc.type == oscTypes[k].type)
-            testPassed(&quot;Oscillator correctly set to &quot; + oscTypes[k].name + &quot; type using legacy integer value.&quot;);
-        else
-            testFailed(&quot;Oscillator set to &quot; + oscTypes[k].name + &quot; type, but returns &quot; + oscTypes[osc.type].name + &quot; type using legacy integer value.&quot;);
-    }
-
</del><span class="cx">     // Now set a custom oscillator
</span><span class="cx">     var coeffA = new Float32Array([0, 1, 0.5]);
</span><span class="cx">     var coeffB = new Float32Array([0, 0, 0]);        
</span><span class="lines">@@ -70,24 +60,17 @@
</span><span class="cx"> 
</span><span class="cx">     // Try setting some invalid types
</span><span class="cx">     try {
</span><ins>+        osc.type = &quot;sine&quot;;
</ins><span class="cx">         osc.type = &quot;custom&quot;;
</span><del>-        testFailed(&quot;Directly setting oscillator type to CUSTOM did not throw exception.&quot;);
</del><ins>+        testFailed(&quot;Directly setting oscillator type to custom did not throw exception.&quot;);
</ins><span class="cx">     } catch (e) {
</span><del>-        testPassed(&quot;Directly setting oscillator type to CUSTOM correctly throws exception.&quot;);
</del><ins>+        testPassed(&quot;Directly setting oscillator type to custom correctly throws exception.&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    var oscType = osc.CUSTOM + 1;
-    try {
-        osc.type = oscType;
-        testFailed(&quot;Setting oscillator to invalid type &quot; + oscType + &quot; did not throw exception.&quot;);
-    } catch (e) {
-        testPassed(&quot;Setting oscillator to invalid type &quot; + oscType + &quot; correctly throws exception.&quot;);
-    }
</del><ins>+    // Check that we don't throw an exception for illegal .type values as per WebIDL.
+    shouldNotThrowException(function() { osc.type = &quot;xyz12349jfksd&quot;; }, &quot;Setting .type to illegal string value&quot;);
+    shouldNotThrowException(function() { osc.type = new Float32Array(1); }, &quot;Setting .type to illegal type&quot;);
</ins><span class="cx"> 
</span><del>-    // Check specifically that we throw a TypeError.
-    shouldThrowTypeError(function() { osc.type = &quot;xyz12349jfksd&quot;; }, &quot;Setting .type to illegal string value&quot;);
-    shouldThrowTypeError(function() { osc.type = new Float32Array(1); }, &quot;Setting .type to illegal type of Float32Array&quot;);
-
</del><span class="cx">     finishJSTest();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatorcustomhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-custom.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-custom.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-custom.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">     if (!window.testRunner)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    generateExponentialOscillatorSweep(OSC.CUSTOM);
</del><ins>+    generateExponentialOscillatorSweep(&quot;custom&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatorsawtoothhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-sawtooth.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-sawtooth.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-sawtooth.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">     if (!window.testRunner)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    generateExponentialOscillatorSweep(OSC.SAWTOOTH);
</del><ins>+    generateExponentialOscillatorSweep(&quot;sawtooth&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatorsinehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-sine.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-sine.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-sine.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">     if (!window.testRunner)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    generateExponentialOscillatorSweep(OSC.SINE);
</del><ins>+    generateExponentialOscillatorSweep(&quot;sine&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatorsquarehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-square.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-square.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-square.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> &lt;!DOCTYPE html&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;!--
</span><del>-Create an oscillator of type SQUARE and generate a slow exponential tone sweep.
</del><ins>+Create an oscillator of type square and generate a slow exponential tone sweep.
</ins><span class="cx"> The result can be checked for the correct wave shape and for aliasing artifacts.
</span><span class="cx"> See oscillator-testing.js for details.
</span><span class="cx"> --&gt;
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">     if (!window.testRunner)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    generateExponentialOscillatorSweep(OSC.SQUARE);
</del><ins>+    generateExponentialOscillatorSweep(&quot;square&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiooscillatortrianglehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/oscillator-triangle.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/oscillator-triangle.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/oscillator-triangle.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">     if (!window.testRunner)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    generateExponentialOscillatorSweep(OSC.TRIANGLE);
</del><ins>+    generateExponentialOscillatorSweep(&quot;triangle&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiopannernodebasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/pannernode-basic-expected.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/pannernode-basic-expected.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/pannernode-basic-expected.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -20,16 +20,11 @@
</span><span class="cx"> PASS PannerNode defaults to 'inverse' distanceModel.
</span><span class="cx"> PASS panningModel: 'equalpower' is settable.
</span><span class="cx"> PASS panningModel: 'HRTF' is settable.
</span><del>-PASS panningModel: 0 is settable using legacy integer value.
-PASS panningModel: 1 is settable using legacy integer value.
</del><span class="cx"> PASS distanceModel: 'linear' is settable.
</span><span class="cx"> PASS distanceModel: 'inverse' is settable.
</span><span class="cx"> PASS distanceModel: 'exponential' is settable.
</span><del>-PASS distanceModel: 0 is settable using legacy integer value.
-PASS distanceModel: 1 is settable using legacy integer value.
-PASS distanceModel: 2 is settable using legacy integer value.
-PASS Setting .type to illegal string value threw TypeError.
-PASS Setting .type to illegal type of Float32Array threw TypeError.
</del><ins>+PASS Setting .distanceModel to illegal string value did not throw an exception.
+PASS Setting .distanceModel to illegal type did not throw an exception.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiopannernodebasichtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/pannernode-basic.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/pannernode-basic.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/pannernode-basic.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -112,10 +112,8 @@
</span><span class="cx">         testFailed(&quot;PannerNode should default to 'inverse' distanceModel.&quot;);
</span><span class="cx"> 
</span><span class="cx">     // Check that the .panningModel attribute can be set to all legal values.
</span><del>-    var panningModels = [{value: &quot;equalpower&quot;, integerValue: panner.EQUALPOWER},
-                         {value: &quot;HRTF&quot;, integerValue: panner.HRTF},
-                         // FIXME: enable &quot;soundfield&quot; once feature is implemented: https://bugs.webkit.org/show_bug.cgi?id=77367
-                         // {value: &quot;soundfield&quot;, integerValue: panner.SOUNDFIELD}
</del><ins>+    var panningModels = [{value: &quot;equalpower&quot;},
+                         {value: &quot;HRTF&quot;},
</ins><span class="cx">                         ];
</span><span class="cx"> 
</span><span class="cx">     for (var i = 0; i &lt; panningModels.length; ++i) {
</span><span class="lines">@@ -134,29 +132,10 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // For legacy support, verify that we can set the .panningModel attribute as an integer value and
-    // verify that this translates correctly to the WebIDL enum value.
-    for (var i = 0; i &lt; panningModels.length; ++i) {
-        try {
-            panner.panningModel = panningModels[i].integerValue;
-            if (panner.panningModel === panningModels[i].value &amp;&amp; panningModels[i].integerValue === i) {
-                var message = &quot;panningModel: &quot; + panningModels[i].integerValue + &quot; is settable using legacy integer value.&quot;;
-                testPassed(message);
-            } else {
-                var message = &quot;panningModel: &quot; + panningModels[i].integerValue + &quot; was not correctly set using legacy integer value.&quot;;
-                testFailed(message);
-            }
-        } catch(e) {
-            var message = &quot;Setting panningModel to &quot; + panningModels[i].integerValue + &quot; should not throw exception using legacy integer value.&quot;;
-            testFailed(message);
-        }
-    }
-
</del><span class="cx">     // Check that the .distanceModel attribute can be set to all legal values.
</span><del>-    var distanceModels = [{value: &quot;linear&quot;, integerValue: panner.LINEAR_DISTANCE},
-                          {value: &quot;inverse&quot;, integerValue: panner.INVERSE_DISTANCE},
-                          {value: &quot;exponential&quot;, integerValue: panner.EXPONENTIAL_DISTANCE}
-                        ];
</del><ins>+    var distanceModels = [{value: &quot;linear&quot;},
+                          {value: &quot;inverse&quot;},
+                          {value: &quot;exponential&quot;}];
</ins><span class="cx"> 
</span><span class="cx">     for (var i = 0; i &lt; distanceModels.length; ++i) {
</span><span class="cx">         try {
</span><span class="lines">@@ -174,28 +153,10 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // For legacy support, verify that we can set the .distanceModel attribute as an integer value and
-    // verify that this translates correctly to the WebIDL enum value.
-    for (var i = 0; i &lt; distanceModels.length; ++i) {
-        try {
-            panner.distanceModel = distanceModels[i].integerValue;
-            if (panner.distanceModel === distanceModels[i].value &amp;&amp; distanceModels[i].integerValue === i) {
-                var message = &quot;distanceModel: &quot; + distanceModels[i].integerValue + &quot; is settable using legacy integer value.&quot;;
-                testPassed(message);
-            } else {
-                var message = &quot;distanceModel: &quot; + distanceModels[i].integerValue + &quot; was not correctly set using legacy integer value.&quot;;
-                testFailed(message);
-            }
-        } catch(e) {
-            var message = &quot;Setting distanceModel to &quot; + distanceModels[i].integerValue + &quot; should not throw exception using legacy integer value.&quot;;
-            testFailed(message);
-        }
-    }
</del><ins>+    // Check that we don't throw an exception for illegal .distanceModel values as per WebIDL.
+    shouldNotThrowException(function() { panner.distanceModel = &quot;xyz12349jfksd&quot;; }, &quot;Setting .distanceModel to illegal string value&quot;);
+    shouldNotThrowException(function() { panner.distanceModel = new Float32Array(1); }, &quot;Setting .distanceModel to illegal type&quot;);
</ins><span class="cx"> 
</span><del>-    // Check that we throw a TypeError for illegal .distanceModel values.
-    shouldThrowTypeError(function() { panner.distanceModel = &quot;xyz12349jfksd&quot;; }, &quot;Setting .type to illegal string value&quot;);
-    shouldThrowTypeError(function() { panner.distanceModel = new Float32Array(1); }, &quot;Setting .type to illegal type of Float32Array&quot;);
-
</del><span class="cx">     finishJSTest();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcesaudiotestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/audio-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/audio-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/audio-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx">     return Math.floor(0.5 + time * sampleRate);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// Compute the number of sample frames consumed by noteGrainOn with
</del><ins>+// Compute the number of sample frames consumed by start with
</ins><span class="cx"> // the specified |grainOffset|, |duration|, and |sampleRate|.
</span><span class="cx"> function grainLengthInSampleFrames(grainOffset, duration, sampleRate) {
</span><span class="cx">     var startFrame = timeToSampleFrame(grainOffset, sampleRate);
</span><span class="lines">@@ -175,6 +175,20 @@
</span><span class="cx">     return !isNaN(x) &amp;&amp; (x != Infinity) &amp;&amp; (x != -Infinity);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+function shouldNotThrowException(func, text) {
+    var ok = true;
+    try {
+        func();
+    } catch (e) {
+        ok = false;
+    }
+    if (ok) {
+        testPassed(text + &quot; did not throw an exception.&quot;);
+    } else {
+        testFailed(text + &quot; did throw an exception.&quot;);
+    }
+}
+
</ins><span class="cx"> function shouldThrowTypeError(func, text) {
</span><span class="cx">     var ok = false;
</span><span class="cx">     try {
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcesaudioparamtestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/audioparam-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/audioparam-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/audioparam-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -412,7 +412,7 @@
</span><span class="cx">     // automation, since it's easy to pass a constant value through the node, automate the
</span><span class="cx">     // .gain attribute and observe the resulting values.
</span><span class="cx"> 
</span><del>-    gainNode = context.createGainNode();
</del><ins>+    gainNode = context.createGain();
</ins><span class="cx"> 
</span><span class="cx">     var bufferSource = context.createBufferSource();
</span><span class="cx">     bufferSource.buffer = constantBuffer;
</span><span class="lines">@@ -430,7 +430,7 @@
</span><span class="cx">                                  initialValue,
</span><span class="cx">                                  setValueFunction,
</span><span class="cx">                                  automationFunction);
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">       
</span><span class="cx">     context.oncomplete = checkResultFunction(testName,
</span><span class="cx">                                              maxError,
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcesbiquadtestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/biquad-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/biquad-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/biquad-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -349,33 +349,24 @@
</span><span class="cx"> 
</span><span class="cx"> // Array of functions to compute the filter coefficients.  This must
</span><span class="cx"> // be arraned in the same order as the filter types in the idl file.
</span><del>-var filterCreatorFunction = [createLowpassFilter,
-                             createHighpassFilter,
-                             createBandpassFilter,
-                             createLowShelfFilter,
-                             createHighShelfFilter,
-                             createPeakingFilter,
-                             createNotchFilter,
-                             createAllpassFilter];
</del><ins>+var filterCreatorFunction = {&quot;lowpass&quot;: createLowpassFilter,
+                             &quot;highpass&quot;: createHighpassFilter,
+                             &quot;bandpass&quot;: createBandpassFilter,
+                             &quot;lowshelf&quot;: createLowShelfFilter,
+                             &quot;highshelf&quot;: createHighShelfFilter,
+                             &quot;peaking&quot;: createPeakingFilter,
+                             &quot;notch&quot;: createNotchFilter,
+                             &quot;allpass&quot;: createAllpassFilter};
</ins><span class="cx"> 
</span><del>-var filterTypeName = [&quot;Lowpass filter&quot;,
-                      &quot;Highpass filter&quot;,
-                      &quot;Bandpass filter&quot;,
-                      &quot;Lowshelf filter&quot;,
-                      &quot;Highshelf filter&quot;,
-                      &quot;Peaking filter&quot;,
-                      &quot;Notch filter&quot;,
-                      &quot;Allpass filter&quot;];
</del><ins>+var filterTypeName = {&quot;lowpass&quot;: &quot;Lowpass filter&quot;,
+                      &quot;highpass&quot;: &quot;Highpass filter&quot;,
+                      &quot;bandpass&quot;: &quot;Bandpass filter&quot;,
+                      &quot;lowshelf&quot;: &quot;Lowshelf filter&quot;,
+                      &quot;highshelf&quot;: &quot;Highshelf filter&quot;,
+                      &quot;peaking&quot;: &quot;Peaking filter&quot;,
+                      &quot;notch&quot;: &quot;Notch filter&quot;,
+                      &quot;allpass&quot;: &quot;Allpass filter&quot;};
</ins><span class="cx"> 
</span><del>-var filterTypeIndex = {&quot;lowpass&quot;: 0,
-                       &quot;highpass&quot;: 1,
-                       &quot;bandpass&quot;: 2,
-                       &quot;lowshelf&quot;: 3,
-                       &quot;highshelf&quot;: 4,
-                       &quot;peaking&quot;: 5,
-                       &quot;notch&quot;: 6,
-                       &quot;allpass&quot;: 7};
-
</del><span class="cx"> function createFilter(filterType, freq, q, gain) {
</span><span class="cx">     return filterCreatorFunction[filterType](freq, q, gain);
</span><span class="cx"> }
</span><span class="lines">@@ -450,7 +441,7 @@
</span><span class="cx">         signal[k].connect(filter[k]);
</span><span class="cx">         filter[k].connect(context.destination);
</span><span class="cx"> 
</span><del>-        signal[k].noteOn(timeStep * k);
</del><ins>+        signal[k].start(timeStep * k);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     context.oncomplete = checkFilterResponse(filterType, filterParameters);
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcesdistancemodeltestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/distance-model-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/distance-model-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/distance-model-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -95,14 +95,13 @@
</span><span class="cx">         panner[k].connect(context.destination);
</span><span class="cx"> 
</span><span class="cx">         time[k] = k * timeStep;
</span><del>-        bufferSource[k].noteOn(time[k]);
</del><ins>+        bufferSource[k].start(time[k]);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // distanceModel should be the distance model constant like
</span><del>-// LINEAR_DISTANCE, INVERSE_DISTANCE, and EXPONENTIAL_DISTANCE.  The
-// expectedModel is the expected actual numeric value of the constant.
-function createTestAndRun(context, distanceModel, expectedModel) {
</del><ins>+// linear, inverse, and exponential.
+function createTestAndRun(context, distanceModel) {
</ins><span class="cx">     // To test the distance models, we create a number of panners at
</span><span class="cx">     // uniformly spaced intervals on the z-axis.  Each of these are
</span><span class="cx">     // started at equally spaced time intervals.  After rendering the
</span><span class="lines">@@ -112,7 +111,7 @@
</span><span class="cx"> 
</span><span class="cx">     createGraph(context, distanceModel, nodesToCreate);
</span><span class="cx"> 
</span><del>-    context.oncomplete = checkDistanceResult(distanceModel, expectedModel);
</del><ins>+    context.oncomplete = checkDistanceResult(distanceModel);
</ins><span class="cx">     context.startRendering();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -122,7 +121,7 @@
</span><span class="cx">     return Math.SQRT1_2;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-function checkDistanceResult(model, expectedModel) {
</del><ins>+function checkDistanceResult(model) {
</ins><span class="cx">     return function(event) {
</span><span class="cx">         renderedBuffer = event.renderedBuffer;
</span><span class="cx">         renderedData = renderedBuffer.getChannelData(0);
</span><span class="lines">@@ -174,13 +173,6 @@
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (model == expectedModel) {
-            testPassed(&quot;Distance model value matched expected value.&quot;);
-        } else {
-            testFailed(&quot;Distance model value does not match expected value.&quot;);
-            success = false;
-        }    
-
</del><span class="cx">         if (impulseCount == nodesToCreate) {
</span><span class="cx">             testPassed(&quot;Number of impulses found matches number of panner nodes.&quot;);
</span><span class="cx">         } else {
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcesjavascriptaudionodetestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/javascriptaudionode-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/javascriptaudionode-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/javascriptaudionode-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -72,13 +72,13 @@
</span><span class="cx">     var bufferSource = context.createBufferSource();
</span><span class="cx">     bufferSource.buffer = sourceBuffer;
</span><span class="cx"> 
</span><del>-    var jsnode = context.createJavaScriptNode(bufferSize, inputChannels, outputChannels);
</del><ins>+    var jsnode = context.createScriptProcessor(bufferSize, inputChannels, outputChannels);
</ins><span class="cx"> 
</span><span class="cx">     bufferSource.connect(jsnode);
</span><span class="cx">     jsnode.connect(context.destination);
</span><span class="cx">     jsnode.onaudioprocess = processAudioData;
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx">     context.oncomplete = finishJSTest;
</span><span class="cx">     context.startRendering();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcesoscillatortestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/oscillator-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/oscillator-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/oscillator-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -17,20 +17,12 @@
</span><span class="cx"> var highFrequency = nyquist + 2000; // go slightly higher than nyquist to make sure we generate silence there
</span><span class="cx"> var context = 0;
</span><span class="cx"> 
</span><del>-var OSC = {
-    SINE: 0,
-    SQUARE: 1,
-    SAWTOOTH: 2,
-    TRIANGLE: 3,
-    CUSTOM: 4,
-};
-
</del><span class="cx"> function generateExponentialOscillatorSweep(oscillatorType) {
</span><span class="cx">     // Create offline audio context.
</span><span class="cx">     context = new webkitOfflineAudioContext(1, sampleRate * lengthInSeconds, sampleRate);
</span><span class="cx"> 
</span><span class="cx">     var osc = context.createOscillator();
</span><del>-    if (oscillatorType == OSC.CUSTOM) {
</del><ins>+    if (oscillatorType == &quot;custom&quot;) {
</ins><span class="cx">         // Create a simple waveform with three Fourier coefficients.
</span><span class="cx">         // Note the first values are expected to be zero (DC for coeffA and Nyquist for coeffB).
</span><span class="cx">         var coeffA = new Float32Array([0, 1, 0.5]);
</span><span class="lines">@@ -42,7 +34,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Scale by 1/2 to better visualize the waveform and to avoid clipping past full scale.
</span><del>-    var gainNode = context.createGainNode();
</del><ins>+    var gainNode = context.createGain();
</ins><span class="cx">     gainNode.gain.value = 0.5;
</span><span class="cx">     osc.connect(gainNode);
</span><span class="cx">     gainNode.connect(context.destination);
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioresourcespannermodeltestingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/resources/panner-model-testing.js (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/resources/panner-model-testing.js        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/resources/panner-model-testing.js        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx">         // Start the source
</span><span class="cx">         time[k] = k * timeStep;
</span><del>-        bufferSource[k].noteOn(time[k]);
</del><ins>+        bufferSource[k].start(time[k]);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiosampleaccurateschedulinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/sample-accurate-scheduling.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/sample-accurate-scheduling.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/sample-accurate-scheduling.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     var bufferSource = context.createBufferSource();
</span><span class="cx">     bufferSource.buffer = impulse;
</span><span class="cx">     bufferSource.connect(context.destination);
</span><del>-    bufferSource.noteOn(time);
</del><ins>+    bufferSource.start(time);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> function checkSampleAccuracy(event) {
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiostereo2monodownmixinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/stereo2mono-down-mixing.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/stereo2mono-down-mixing.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/stereo2mono-down-mixing.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx">     bufferSource.connect(context.destination);
</span><span class="cx"> 
</span><del>-    bufferSource.noteOn(0);
</del><ins>+    bufferSource.start(0);
</ins><span class="cx"> 
</span><span class="cx">     context.oncomplete = testFinished;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioupmixingmono51html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/up-mixing-mono-51.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/up-mixing-mono-51.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/up-mixing-mono-51.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     source.buffer = toneBuffer;
</span><span class="cx">     
</span><span class="cx">     source.connect(context.destination);
</span><del>-    source.noteOn(0);
</del><ins>+    source.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = finishAudioTest;
</span><span class="cx">     context.startRendering();    
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioupmixingmonostereohtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/up-mixing-mono-stereo.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/up-mixing-mono-stereo.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/up-mixing-mono-stereo.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     source.buffer = toneBuffer;
</span><span class="cx">     
</span><span class="cx">     source.connect(context.destination);
</span><del>-    source.noteOn(0);
</del><ins>+    source.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = finishAudioTest;
</span><span class="cx">     context.startRendering();    
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioupmixingstereo51html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/up-mixing-stereo-51.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/up-mixing-stereo-51.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/up-mixing-stereo-51.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     source.buffer = toneBuffer;
</span><span class="cx">     
</span><span class="cx">     source.connect(context.destination);
</span><del>-    source.noteOn(0);
</del><ins>+    source.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = finishAudioTest;
</span><span class="cx">     context.startRendering();    
</span></span></pre></div>
<a id="trunkLayoutTestswebaudiowaveshaperhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/waveshaper.html (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/waveshaper.html        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/LayoutTests/webaudio/waveshaper.html        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     waveShapingCurve = generateWaveShapingCurve();
</span><span class="cx">     waveshaper.curve = waveShapingCurve;
</span><span class="cx">     
</span><del>-    source.noteOn(0);
</del><ins>+    source.start(0);
</ins><span class="cx">     
</span><span class="cx">     context.oncomplete = checkShapedCurve;
</span><span class="cx">     context.startRendering();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-08-26  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for ENABLE_LEGACY_WEB_AUDIO
+        https://bugs.webkit.org/show_bug.cgi?id=161262
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/FeatureDefines.xcconfig:
+        Remove ENABLE_LEGACY_WEB_AUDIO
+
</ins><span class="cx"> 2016-08-26  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         [JSC] Implement CompareStrictEq(String, Untyped) in FTL
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
</span><span class="cx"> ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
</span><span class="cx"> ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
</span><del>-ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
</del><span class="cx"> ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
</span><span class="cx"> ENABLE_LINK_PREFETCH = ;
</span><span class="cx"> ENABLE_MATHML = ENABLE_MATHML;
</span><span class="lines">@@ -201,4 +200,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_CUSTOM_ELEMENTS = ENABLE_CUSTOM_ELEMENTS;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRU
 CTOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MED
 IA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_W
 EB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUC
 TOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE
 _MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCK
 ETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1115,7 +1115,6 @@
</span><span class="cx">     bindings/js/JSAudioContextCustom.cpp
</span><span class="cx">     bindings/js/JSAudioTrackCustom.cpp
</span><span class="cx">     bindings/js/JSAudioTrackListCustom.cpp
</span><del>-    bindings/js/JSBiquadFilterNodeCustom.cpp
</del><span class="cx">     bindings/js/JSBlobCustom.cpp
</span><span class="cx">     bindings/js/JSCSSRuleCustom.cpp
</span><span class="cx">     bindings/js/JSCSSRuleListCustom.cpp
</span><span class="lines">@@ -1220,8 +1219,6 @@
</span><span class="cx">     bindings/js/JSNodeIteratorCustom.cpp
</span><span class="cx">     bindings/js/JSNodeOrString.cpp
</span><span class="cx">     bindings/js/JSNodeListCustom.cpp
</span><del>-    bindings/js/JSOscillatorNodeCustom.cpp
-    bindings/js/JSPannerNodeCustom.cpp
</del><span class="cx">     bindings/js/JSPerformanceEntryCustom.cpp
</span><span class="cx">     bindings/js/JSPluginElementFunctions.cpp
</span><span class="cx">     bindings/js/JSPopStateEventCustom.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/ChangeLog        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,3 +1,105 @@
</span><ins>+2016-08-26  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for ENABLE_LEGACY_WEB_AUDIO
+        https://bugs.webkit.org/show_bug.cgi?id=161262
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/FeatureDefines.xcconfig:
+        Remove ENABLE_LEGACY_WEB_AUDIO.
+
+        * Modules/webaudio/AudioBufferSourceNode.cpp:
+        (WebCore::AudioBufferSourceNode::noteGrainOn): Deleted.
+        * Modules/webaudio/AudioBufferSourceNode.h:
+        * Modules/webaudio/AudioBufferSourceNode.idl:
+        (WebCore::AudioScheduledSourceNode::noteOn): Deleted.
+        (WebCore::AudioScheduledSourceNode::noteOff): Deleted.
+        * Modules/webaudio/AudioScheduledSourceNode.h:
+        * Modules/webaudio/AudioScheduledSourceNode.cpp:
+        Remove the looping attribute, as well as the noteOn, noteOff, and noteGrainOn functions.
+
+        * Modules/webaudio/AudioContext.idl:
+        Remove the createGainNode, createDelayNode and createJavaScriptNode functions.
+
+        * Modules/webaudio/AudioParam.idl:
+        Remove the setTargetValueAtTime function.
+
+        * Modules/webaudio/BiquadDSPKernel.cpp:
+        (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
+        * Modules/webaudio/BiquadFilterNode.cpp:
+        (WebCore::BiquadFilterNode::type):
+        (WebCore::BiquadFilterNode::setType):
+        (WebCore::BiquadFilterNode::getFrequencyResponse):
+        * Modules/webaudio/BiquadFilterNode.h:
+        * Modules/webaudio/BiquadFilterNode.idl:
+        * Modules/webaudio/BiquadProcessor.cpp:
+        (WebCore::BiquadProcessor::BiquadProcessor):
+        (WebCore::BiquadProcessor::setType):
+        (WebCore::BiquadProcessor::getFrequencyResponse):
+        * Modules/webaudio/BiquadProcessor.h:
+        (WebCore::BiquadProcessor::type):
+        * bindings/js/JSBiquadFilterNodeCustom.cpp: Removed.
+        Rename BiquadProcessor::FilterType to BiquadFilterType and use it
+        directly from the IDL. Remove legacy filter constants from the IDL
+        and the need for a custom binding for the type attribute.
+
+        * Modules/webaudio/OscillatorNode.cpp:
+        (WebCore::OscillatorNode::OscillatorNode):
+        (WebCore::OscillatorNode::setType):
+        (WebCore::OscillatorNode::setPeriodicWave):
+        (WebCore::OscillatorNode::type): Deleted.
+        * Modules/webaudio/OscillatorNode.h:
+        (WebCore::OscillatorNode::type):
+        * Modules/webaudio/OscillatorNode.idl:
+        * Modules/webaudio/PeriodicWave.cpp:
+        (WebCore::PeriodicWave::createSine):
+        (WebCore::PeriodicWave::createSquare):
+        (WebCore::PeriodicWave::createSawtooth):
+        (WebCore::PeriodicWave::createTriangle):
+        (WebCore::PeriodicWave::generateBasicWaveform):
+        * Modules/webaudio/PeriodicWave.h:
+        * bindings/js/JSOscillatorNodeCustom.cpp: Removed.
+        Remove noteOn and noteOff functions and the type integer constants.
+        Remove the need for a custom binding for the type attribute by renaming
+        the type enum OscillatorNode::Type and putting the enum in the IDL.
+
+        * Modules/webaudio/PannerNode.cpp:
+        (WebCore::PannerNode::PannerNode):
+        (WebCore::PannerNode::process):
+        (WebCore::PannerNode::setPanningModel):
+        (WebCore::PannerNode::distanceModel):
+        (WebCore::PannerNode::setDistanceModel):
+        (WebCore::PannerNode::panningModel): Deleted.
+        * Modules/webaudio/PannerNode.h:
+        (WebCore::PannerNode::panningModel):
+        * Modules/webaudio/PannerNode.idl:
+        * bindings/js/JSPannerNodeCustom.cpp: Removed.
+        * platform/audio/Distance.cpp:
+        (WebCore::DistanceEffect::DistanceEffect):
+        (WebCore::DistanceEffect::gain):
+        * platform/audio/Distance.h:
+        (WebCore::DistanceEffect::model):
+        (WebCore::DistanceEffect::setModel):
+        * platform/audio/EqualPowerPanner.cpp:
+        (WebCore::EqualPowerPanner::EqualPowerPanner):
+        * platform/audio/HRTFPanner.cpp:
+        (WebCore::HRTFPanner::HRTFPanner):
+        * platform/audio/Panner.cpp:
+        (WebCore::Panner::create):
+        * platform/audio/Panner.h:
+        (WebCore::Panner::panningModel):
+        (WebCore::Panner::Panner):
+        Replace the panning model and distance model integer constants
+        with IDL enum support, removing the need for a custom binding.
+        Rename the supporting C++ enums to work with the bindings.
+
+        * bindings/js/JSAudioContextCustom.cpp:
+        (WebCore::constructJSAudioContext):
+        Remove deprecated way of creating an offline context.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        Update files.
+
</ins><span class="cx"> 2016-08-26  Johan K. Jensen  &lt;johan_jensen@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Frontend should have access to Resource Timing information
</span></span></pre></div>
<a id="trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
</span><span class="cx"> ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
</span><span class="cx"> ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
</span><del>-ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
</del><span class="cx"> ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
</span><span class="cx"> ENABLE_LINK_PREFETCH = ;
</span><span class="cx"> ENABLE_MATHML = ENABLE_MATHML;
</span><span class="lines">@@ -201,4 +200,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_CUSTOM_ELEMENTS = ENABLE_CUSTOM_ELEMENTS;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRU
 CTOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MED
 IA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_W
 EB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUC
 TOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE
 _MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCK
 ETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</ins></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -509,16 +509,6 @@
</span><span class="cx">     m_playbackState = SCHEDULED_STATE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(LEGACY_WEB_AUDIO)
-void AudioBufferSourceNode::noteGrainOn(double when, double grainOffset, double grainDuration, ExceptionCode&amp; ec)
-{
-    // Handle unspecified duration where 0 means the rest of the buffer.
-    if (!grainDuration)
-        grainDuration = buffer()-&gt;duration();
-    startPlaying(Partial, when, grainOffset, grainDuration, ec);
-}
-#endif
-
</del><span class="cx"> double AudioBufferSourceNode::totalPitchRate()
</span><span class="cx"> {
</span><span class="cx">     double dopplerRate = 1.0;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -64,10 +64,6 @@
</span><span class="cx">     // Play-state
</span><span class="cx">     void start(double when, double grainOffset, Optional&lt;double&gt; grainDuration, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-#if ENABLE(LEGACY_WEB_AUDIO)
-    void noteGrainOn(double when, double grainOffset, double grainDuration, ExceptionCode&amp;);
-#endif
-
</del><span class="cx">     // Note: the attribute was originally exposed as .looping, but to be more consistent in naming with &lt;audio&gt;
</span><span class="cx">     // and with how it's described in the specification, the proper attribute name is .loop
</span><span class="cx">     // The old attribute is kept for backwards compatibility.
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     readonly attribute AudioParam gain;
</span><span class="cx">     readonly attribute AudioParam playbackRate;
</span><span class="cx"> 
</span><del>-    attribute boolean loop; // This is the proper attribute name from the specification.
</del><ins>+    attribute boolean loop;
</ins><span class="cx"> 
</span><span class="cx">     attribute unrestricted double loopStart;
</span><span class="cx">     attribute unrestricted double loopEnd;
</span><span class="lines">@@ -47,11 +47,5 @@
</span><span class="cx">     [RaisesException] void start(optional unrestricted double when = 0, optional unrestricted double grainOffset = 0, optional unrestricted double grainDuration);
</span><span class="cx">     [RaisesException] void stop(optional unrestricted double when = 0);
</span><span class="cx"> 
</span><del>-    [Conditional=LEGACY_WEB_AUDIO] attribute boolean looping; // This is an alias for the .loop attribute for backwards compatibility.
-
-    [Conditional=LEGACY_WEB_AUDIO, RaisesException] void noteOn(unrestricted double when);
-    [Conditional=LEGACY_WEB_AUDIO, RaisesException] void noteGrainOn(unrestricted double when, unrestricted double grainOffset, unrestricted double grainDuration);
-    [Conditional=LEGACY_WEB_AUDIO, RaisesException] void noteOff(unrestricted double when);
-    
</del><span class="cx">     attribute EventHandler onended;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.idl (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.idl        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.idl        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -96,10 +96,4 @@
</span><span class="cx">     // void prepareOfflineBufferRendering(unsigned long numberOfChannels, unsigned long numberOfFrames, unrestricted float sampleRate);
</span><span class="cx">     attribute EventHandler oncomplete;
</span><span class="cx">     void startRendering();
</span><del>-
-    [Conditional=LEGACY_WEB_AUDIO, ImplementedAs=createGain] GainNode createGainNode();
-    [Conditional=LEGACY_WEB_AUDIO, ImplementedAs=createDelay, RaisesException] DelayNode createDelayNode(optional unrestricted double maxDelayTime = 1);
-
-    [Conditional=LEGACY_WEB_AUDIO, ImplementedAs=createScriptProcessor, RaisesException] ScriptProcessorNode createJavaScriptNode(unsigned long bufferSize, optional unsigned long numberOfInputChannels = 2, optional unsigned long numberOfOutputChannels = 2);
-
</del><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioParamidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.idl (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioParam.idl        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.idl        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -53,7 +53,4 @@
</span><span class="cx"> 
</span><span class="cx">     // Cancels all scheduled parameter changes with times greater than or equal to startTime.
</span><span class="cx">     void cancelScheduledValues(unrestricted float startTime);
</span><del>-
-    [Conditional=LEGACY_WEB_AUDIO, ImplementedAs=setTargetAtTime] void setTargetValueAtTime(unrestricted float targetValue, unrestricted float time, unrestricted float timeConstant);
-
</del><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioScheduledSourceNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -174,18 +174,6 @@
</span><span class="cx">     m_endTime = when;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(LEGACY_WEB_AUDIO)
-void AudioScheduledSourceNode::noteOn(double when, ExceptionCode&amp; ec)
-{
-    start(when, ec);
-}
-
-void AudioScheduledSourceNode::noteOff(double when, ExceptionCode&amp; ec)
-{
-    stop(when, ec);
-}
-#endif
-
</del><span class="cx"> void AudioScheduledSourceNode::finish()
</span><span class="cx"> {
</span><span class="cx">     if (m_playbackState != FINISHED_STATE) {
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioScheduledSourceNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">     // These are the possible states an AudioScheduledSourceNode can be in:
</span><span class="cx">     //
</span><span class="cx">     // UNSCHEDULED_STATE - Initial playback state. Created, but not yet scheduled.
</span><del>-    // SCHEDULED_STATE - Scheduled to play (via noteOn() or noteGrainOn()), but not yet playing.
</del><ins>+    // SCHEDULED_STATE - Scheduled to play but not yet playing.
</ins><span class="cx">     // PLAYING_STATE - Generating sound.
</span><span class="cx">     // FINISHED_STATE - Finished generating sound.
</span><span class="cx">     //
</span><span class="lines">@@ -61,11 +61,6 @@
</span><span class="cx">     void start(double when, ExceptionCode&amp;);
</span><span class="cx">     void stop(double when, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-#if ENABLE(LEGACY_WEB_AUDIO)
-    void noteOn(double when, ExceptionCode&amp;);
-    void noteOff(double when, ExceptionCode&amp;);
-#endif
-
</del><span class="cx">     unsigned short playbackState() const { return static_cast&lt;unsigned short&gt;(m_playbackState); }
</span><span class="cx">     bool isPlayingOrScheduled() const { return m_playbackState == PLAYING_STATE || m_playbackState == SCHEDULED_STATE; }
</span><span class="cx">     bool hasFinished() const { return m_playbackState == FINISHED_STATE; }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadDSPKernelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadDSPKernel.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -76,35 +76,35 @@
</span><span class="cx"> 
</span><span class="cx">         // Configure the biquad with the new filter parameters for the appropriate type of filter.
</span><span class="cx">         switch (biquadProcessor()-&gt;type()) {
</span><del>-        case BiquadProcessor::LowPass:
</del><ins>+        case BiquadFilterType::Lowpass:
</ins><span class="cx">             m_biquad.setLowpassParams(normalizedFrequency, value2);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::HighPass:
</del><ins>+        case BiquadFilterType::Highpass:
</ins><span class="cx">             m_biquad.setHighpassParams(normalizedFrequency, value2);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::BandPass:
</del><ins>+        case BiquadFilterType::Bandpass:
</ins><span class="cx">             m_biquad.setBandpassParams(normalizedFrequency, value2);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::LowShelf:
</del><ins>+        case BiquadFilterType::Lowshelf:
</ins><span class="cx">             m_biquad.setLowShelfParams(normalizedFrequency, gain);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::HighShelf:
</del><ins>+        case BiquadFilterType::Highshelf:
</ins><span class="cx">             m_biquad.setHighShelfParams(normalizedFrequency, gain);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::Peaking:
</del><ins>+        case BiquadFilterType::Peaking:
</ins><span class="cx">             m_biquad.setPeakingParams(normalizedFrequency, value2, gain);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::Notch:
</del><ins>+        case BiquadFilterType::Notch:
</ins><span class="cx">             m_biquad.setNotchParams(normalizedFrequency, value2);
</span><span class="cx">             break;
</span><span class="cx"> 
</span><del>-        case BiquadProcessor::Allpass:
</del><ins>+        case BiquadFilterType::Allpass:
</ins><span class="cx">             m_biquad.setAllpassParams(normalizedFrequency, value2);
</span><span class="cx">             break;
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadFilterNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -40,76 +40,25 @@
</span><span class="cx">     setNodeType(NodeTypeBiquadFilter);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String BiquadFilterNode::type() const
</del><ins>+BiquadFilterType BiquadFilterNode::type() const
</ins><span class="cx"> {
</span><del>-    switch (const_cast&lt;BiquadFilterNode*&gt;(this)-&gt;biquadProcessor()-&gt;type()) {
-    case BiquadProcessor::LowPass:
-        return &quot;lowpass&quot;;
-    case BiquadProcessor::HighPass:
-        return &quot;highpass&quot;;
-    case BiquadProcessor::BandPass:
-        return &quot;bandpass&quot;;
-    case BiquadProcessor::LowShelf:
-        return &quot;lowshelf&quot;;
-    case BiquadProcessor::HighShelf:
-        return &quot;highshelf&quot;;
-    case BiquadProcessor::Peaking:
-        return &quot;peaking&quot;;
-    case BiquadProcessor::Notch:
-        return &quot;notch&quot;;
-    case BiquadProcessor::Allpass:
-        return &quot;allpass&quot;;
-    default:
-        ASSERT_NOT_REACHED();
-        return &quot;lowpass&quot;;
-    }
</del><ins>+    return const_cast&lt;BiquadFilterNode*&gt;(this)-&gt;biquadProcessor()-&gt;type();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void BiquadFilterNode::setType(const String&amp; type)
</del><ins>+void BiquadFilterNode::setType(BiquadFilterType type)
</ins><span class="cx"> {
</span><del>-    if (type == &quot;lowpass&quot;)
-        setType(BiquadProcessor::LowPass);
-    else if (type == &quot;highpass&quot;)
-        setType(BiquadProcessor::HighPass);
-    else if (type == &quot;bandpass&quot;)
-        setType(BiquadProcessor::BandPass);
-    else if (type == &quot;lowshelf&quot;)
-        setType(BiquadProcessor::LowShelf);
-    else if (type == &quot;highshelf&quot;)
-        setType(BiquadProcessor::HighShelf);
-    else if (type == &quot;peaking&quot;)
-        setType(BiquadProcessor::Peaking);
-    else if (type == &quot;notch&quot;)
-        setType(BiquadProcessor::Notch);
-    else if (type == &quot;allpass&quot;)
-        setType(BiquadProcessor::Allpass);
-    else
-        ASSERT_NOT_REACHED();
</del><ins>+    biquadProcessor()-&gt;setType(type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool BiquadFilterNode::setType(unsigned type)
-{
-    if (type &gt; BiquadProcessor::Allpass)
-        return false;
-    
-    biquadProcessor()-&gt;setType(static_cast&lt;BiquadProcessor::FilterType&gt;(type));
-    return true;
-}
-
</del><span class="cx"> void BiquadFilterNode::getFrequencyResponse(const RefPtr&lt;Float32Array&gt;&amp; frequencyHz, const RefPtr&lt;Float32Array&gt;&amp; magResponse, const RefPtr&lt;Float32Array&gt;&amp; phaseResponse)
</span><span class="cx"> {
</span><span class="cx">     if (!frequencyHz || !magResponse || !phaseResponse)
</span><span class="cx">         return;
</span><span class="cx">     
</span><del>-    int n = std::min(frequencyHz-&gt;length(),
-                     std::min(magResponse-&gt;length(), phaseResponse-&gt;length()));
</del><ins>+    int n = std::min(frequencyHz-&gt;length(), std::min(magResponse-&gt;length(), phaseResponse-&gt;length()));
</ins><span class="cx"> 
</span><del>-    if (n) {
-        biquadProcessor()-&gt;getFrequencyResponse(n,
-                                                frequencyHz-&gt;data(),
-                                                magResponse-&gt;data(),
-                                                phaseResponse-&gt;data());
-    }
</del><ins>+    if (n)
+        biquadProcessor()-&gt;getFrequencyResponse(n, frequencyHz-&gt;data(), magResponse-&gt;data(), phaseResponse-&gt;data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadFilterNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -31,29 +31,16 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class AudioParam;
</span><del>-    
</del><ins>+
</ins><span class="cx"> class BiquadFilterNode : public AudioBasicProcessorNode {
</span><span class="cx"> public:
</span><del>-    // These must be defined as in the .idl file and must match those in the BiquadProcessor class.
-    enum {
-        LOWPASS = 0,
-        HIGHPASS = 1,
-        BANDPASS = 2,
-        LOWSHELF = 3,
-        HIGHSHELF = 4,
-        PEAKING = 5,
-        NOTCH = 6,
-        ALLPASS = 7
-    };
-
</del><span class="cx">     static Ref&lt;BiquadFilterNode&gt; create(AudioContext&amp; context, float sampleRate)
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new BiquadFilterNode(context, sampleRate));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    String type() const;
-    bool setType(unsigned); // Returns true on success.
-    void setType(const String&amp;);
</del><ins>+    BiquadFilterType type() const;
+    void setType(BiquadFilterType);
</ins><span class="cx"> 
</span><span class="cx">     AudioParam* frequency() { return biquadProcessor()-&gt;parameter1(); }
</span><span class="cx">     AudioParam* q() { return biquadProcessor()-&gt;parameter2(); }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadFilterNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadFilterNode.idl        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2011, Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2016, Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -23,20 +24,23 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><ins>+    ImplementedAs=BiquadFilterType
+] enum BiquadFilterType {
+    &quot;lowpass&quot;,
+    &quot;highpass&quot;,
+    &quot;bandpass&quot;,
+    &quot;lowshelf&quot;,
+    &quot;highshelf&quot;,
+    &quot;peaking&quot;,
+    &quot;notch&quot;,
+    &quot;allpass&quot;
+};
+
+[
</ins><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx"> ] interface BiquadFilterNode : AudioNode {
</span><del>-    // Filter type.
-    const unsigned short LOWPASS = 0;
-    const unsigned short HIGHPASS = 1;
-    const unsigned short BANDPASS = 2;
-    const unsigned short LOWSHELF = 3;
-    const unsigned short HIGHSHELF = 4;
-    const unsigned short PEAKING = 5;
-    const unsigned short NOTCH = 6;
-    const unsigned short ALLPASS = 7;
-
-    [CustomSetter] attribute DOMString type;
</del><ins>+    attribute BiquadFilterType type;
</ins><span class="cx">     
</span><span class="cx">     readonly attribute AudioParam frequency; // in Hertz
</span><span class="cx">     readonly attribute AudioParam detune; // in Cents
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadProcessorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     
</span><span class="cx"> BiquadProcessor::BiquadProcessor(AudioContext&amp; context, float sampleRate, size_t numberOfChannels, bool autoInitialize)
</span><span class="cx">     : AudioDSPKernelProcessor(sampleRate, numberOfChannels)
</span><del>-    , m_type(LowPass)
</del><ins>+    , m_type(BiquadFilterType::Lowpass)
</ins><span class="cx">     , m_parameter1(0)
</span><span class="cx">     , m_parameter2(0)
</span><span class="cx">     , m_parameter3(0)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">         m_kernels[i]-&gt;process(source-&gt;channel(i)-&gt;data(), destination-&gt;channel(i)-&gt;mutableData(), framesToProcess);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void BiquadProcessor::setType(FilterType type)
</del><ins>+void BiquadProcessor::setType(BiquadFilterType type)
</ins><span class="cx"> {
</span><span class="cx">     if (type != m_type) {
</span><span class="cx">         m_type = type;
</span><span class="lines">@@ -119,10 +119,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void BiquadProcessor::getFrequencyResponse(int nFrequencies,
-                                           const float* frequencyHz,
-                                           float* magResponse,
-                                           float* phaseResponse)
</del><ins>+void BiquadProcessor::getFrequencyResponse(int nFrequencies, const float* frequencyHz, float* magResponse, float* phaseResponse)
</ins><span class="cx"> {
</span><span class="cx">     // Compute the frequency response on a separate temporary kernel
</span><span class="cx">     // to avoid interfering with the processing running in the audio
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioBiquadProcessorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/BiquadProcessor.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -37,19 +37,19 @@
</span><span class="cx"> 
</span><span class="cx"> // BiquadProcessor is an AudioDSPKernelProcessor which uses Biquad objects to implement several common filters.
</span><span class="cx"> 
</span><ins>+enum class BiquadFilterType {
+    Lowpass,
+    Highpass,
+    Bandpass,
+    Lowshelf,
+    Highshelf,
+    Peaking,
+    Notch,
+    Allpass
+};
+
</ins><span class="cx"> class BiquadProcessor : public AudioDSPKernelProcessor {
</span><span class="cx"> public:
</span><del>-    enum FilterType {
-        LowPass = 0,
-        HighPass = 1,
-        BandPass = 2,
-        LowShelf = 3,
-        HighShelf = 4,
-        Peaking = 5,
-        Notch = 6,
-        Allpass = 7
-    };
-
</del><span class="cx">     BiquadProcessor(AudioContext&amp;, float sampleRate, size_t numberOfChannels, bool autoInitialize);
</span><span class="cx"> 
</span><span class="cx">     virtual ~BiquadProcessor();
</span><span class="lines">@@ -75,11 +75,11 @@
</span><span class="cx">     AudioParam* parameter3() { return m_parameter3.get(); }
</span><span class="cx">     AudioParam* parameter4() { return m_parameter4.get(); }
</span><span class="cx"> 
</span><del>-    FilterType type() const { return m_type; }
-    void setType(FilterType);
</del><ins>+    BiquadFilterType type() const { return m_type; }
+    void setType(BiquadFilterType);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    FilterType m_type;
</del><ins>+    BiquadFilterType m_type;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;AudioParam&gt; m_parameter1;
</span><span class="cx">     RefPtr&lt;AudioParam&gt; m_parameter2;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioOscillatorNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/OscillatorNode.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;AudioNodeOutput.h&quot;
</span><span class="cx"> #include &quot;AudioUtilities.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &quot;ExceptionCodePlaceholder.h&quot;
</ins><span class="cx"> #include &quot;PeriodicWave.h&quot;
</span><span class="cx"> #include &quot;VectorMath.h&quot;
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="lines">@@ -53,7 +54,6 @@
</span><span class="cx"> 
</span><span class="cx"> OscillatorNode::OscillatorNode(AudioContext&amp; context, float sampleRate)
</span><span class="cx">     : AudioScheduledSourceNode(context, sampleRate)
</span><del>-    , m_type(SINE)
</del><span class="cx">     , m_firstRender(true)
</span><span class="cx">     , m_virtualReadIndex(0)
</span><span class="cx">     , m_phaseIncrements(AudioNode::ProcessingSizeInFrames)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     m_detune = AudioParam::create(context, &quot;detune&quot;, 0, -4800, 4800);
</span><span class="cx"> 
</span><span class="cx">     // Sets up default wave.
</span><del>-    setType(m_type);
</del><ins>+    setType(m_type, ASSERT_NO_EXCEPTION);
</ins><span class="cx"> 
</span><span class="cx">     // An oscillator is always mono.
</span><span class="cx">     addOutput(std::make_unique&lt;AudioNodeOutput&gt;(this, 1));
</span><span class="lines">@@ -80,75 +80,40 @@
</span><span class="cx">     uninitialize();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String OscillatorNode::type() const
</del><ins>+void OscillatorNode::setType(Type type, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    switch (m_type) {
-    case SINE:
-        return &quot;sine&quot;;
-    case SQUARE:
-        return &quot;square&quot;;
-    case SAWTOOTH:
-        return &quot;sawtooth&quot;;
-    case TRIANGLE:
-        return &quot;triangle&quot;;
-    case CUSTOM:
-        return &quot;custom&quot;;
-    default:
-        ASSERT_NOT_REACHED();
-        return &quot;custom&quot;;
-    }
-}
-
-void OscillatorNode::setType(const String&amp; type)
-{
-    if (type == &quot;sine&quot;)
-        setType(SINE);
-    else if (type == &quot;square&quot;)
-        setType(SQUARE);
-    else if (type == &quot;sawtooth&quot;)
-        setType(SAWTOOTH);
-    else if (type == &quot;triangle&quot;)
-        setType(TRIANGLE);
-    else
-        ASSERT_NOT_REACHED();
-}
-
-bool OscillatorNode::setType(unsigned type)
-{
</del><span class="cx">     PeriodicWave* periodicWave = nullptr;
</span><span class="cx">     float sampleRate = this-&gt;sampleRate();
</span><span class="cx"> 
</span><span class="cx">     switch (type) {
</span><del>-    case SINE:
</del><ins>+    case Type::Sine:
</ins><span class="cx">         if (!s_periodicWaveSine)
</span><span class="cx">             s_periodicWaveSine = &amp;PeriodicWave::createSine(sampleRate).leakRef();
</span><span class="cx">         periodicWave = s_periodicWaveSine;
</span><span class="cx">         break;
</span><del>-    case SQUARE:
</del><ins>+    case Type::Square:
</ins><span class="cx">         if (!s_periodicWaveSquare)
</span><span class="cx">             s_periodicWaveSquare = &amp;PeriodicWave::createSquare(sampleRate).leakRef();
</span><span class="cx">         periodicWave = s_periodicWaveSquare;
</span><span class="cx">         break;
</span><del>-    case SAWTOOTH:
</del><ins>+    case Type::Sawtooth:
</ins><span class="cx">         if (!s_periodicWaveSawtooth)
</span><span class="cx">             s_periodicWaveSawtooth = &amp;PeriodicWave::createSawtooth(sampleRate).leakRef();
</span><span class="cx">         periodicWave = s_periodicWaveSawtooth;
</span><span class="cx">         break;
</span><del>-    case TRIANGLE:
</del><ins>+    case Type::Triangle:
</ins><span class="cx">         if (!s_periodicWaveTriangle)
</span><span class="cx">             s_periodicWaveTriangle = &amp;PeriodicWave::createTriangle(sampleRate).leakRef();
</span><span class="cx">         periodicWave = s_periodicWaveTriangle;
</span><span class="cx">         break;
</span><del>-    case CUSTOM:
-    default:
-        // Return error for invalid types, including CUSTOM since setPeriodicWave() method must be
-        // called explicitly.
-        return false;
</del><ins>+    case Type::Custom:
+        if (m_type != Type::Custom)
+            ec = INVALID_STATE_ERR;
+        return;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     setPeriodicWave(periodicWave);
</span><span class="cx">     m_type = type;
</span><del>-    return true;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool OscillatorNode::calculateSampleAccuratePhaseIncrements(size_t framesToProcess)
</span><span class="lines">@@ -342,7 +307,7 @@
</span><span class="cx">     // This synchronizes with process().
</span><span class="cx">     std::lock_guard&lt;Lock&gt; lock(m_processMutex);
</span><span class="cx">     m_periodicWave = periodicWave;
</span><del>-    m_type = CUSTOM;
</del><ins>+    m_type = Type::Custom;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool OscillatorNode::propagatesSilence() const
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioOscillatorNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/OscillatorNode.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/OscillatorNode.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/OscillatorNode.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -41,13 +41,12 @@
</span><span class="cx"> class OscillatorNode : public AudioScheduledSourceNode {
</span><span class="cx"> public:
</span><span class="cx">     // The waveform type.
</span><del>-    // These must be defined as in the .idl file.
-    enum {
-        SINE = 0,
-        SQUARE = 1,
-        SAWTOOTH = 2,
-        TRIANGLE = 3,
-        CUSTOM = 4
</del><ins>+    enum class Type {
+        Sine,
+        Square,
+        Sawtooth,
+        Triangle,
+        Custom
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     static Ref&lt;OscillatorNode&gt; create(AudioContext&amp;, float sampleRate);
</span><span class="lines">@@ -58,11 +57,9 @@
</span><span class="cx">     void process(size_t framesToProcess) override;
</span><span class="cx">     void reset() override;
</span><span class="cx"> 
</span><del>-    String type() const;
</del><ins>+    Type type() const { return m_type; }
+    void setType(Type, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    bool setType(unsigned); // Returns true on success.
-    void setType(const String&amp;);
-
</del><span class="cx">     AudioParam* frequency() { return m_frequency.get(); }
</span><span class="cx">     AudioParam* detune() { return m_detune.get(); }
</span><span class="cx"> 
</span><span class="lines">@@ -80,7 +77,7 @@
</span><span class="cx">     bool propagatesSilence() const override;
</span><span class="cx"> 
</span><span class="cx">     // One of the waveform types defined in the enum.
</span><del>-    unsigned short m_type;
</del><ins>+    Type m_type { Type::Sine };
</ins><span class="cx">     
</span><span class="cx">     // Frequency value in Hertz.
</span><span class="cx">     RefPtr&lt;AudioParam&gt; m_frequency;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioOscillatorNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012, Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2016, Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -22,21 +23,20 @@
</span><span class="cx">  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-// OscillatorNode is an audio generator of periodic waveforms.
</del><ins>+enum OscillatorType {
+    &quot;sine&quot;,
+    &quot;square&quot;,
+    &quot;sawtooth&quot;,
+    &quot;triangle&quot;,
+    &quot;custom&quot;
+};
+
</ins><span class="cx"> [
</span><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx"> ] interface OscillatorNode : AudioNode {
</span><ins>+    [SetterRaisesException] attribute OscillatorType type;
</ins><span class="cx"> 
</span><del>-    // Type constants.
-    const unsigned short SINE = 0;
-    const unsigned short SQUARE = 1;
-    const unsigned short SAWTOOTH = 2;
-    const unsigned short TRIANGLE = 3;
-    const unsigned short CUSTOM = 4;
-
-    [CustomSetter] attribute DOMString type;
-
</del><span class="cx">     // Playback state constants.
</span><span class="cx">     const unsigned short UNSCHEDULED_STATE = 0;
</span><span class="cx">     const unsigned short SCHEDULED_STATE = 1;
</span><span class="lines">@@ -51,9 +51,6 @@
</span><span class="cx">     [RaisesException] void start(optional unrestricted double when = 0);
</span><span class="cx">     [RaisesException] void stop(optional unrestricted double when = 0);
</span><span class="cx"> 
</span><del>-    [Conditional=LEGACY_WEB_AUDIO, RaisesException] void noteOn(unrestricted double when);
-    [Conditional=LEGACY_WEB_AUDIO, RaisesException] void noteOff(unrestricted double when);
-
</del><span class="cx">     void setPeriodicWave(PeriodicWave? wave); // FIXME: The parameter should not be nullable.
</span><span class="cx"> 
</span><span class="cx">     attribute EventHandler onended;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPannerNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/PannerNode.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx"> PannerNode::PannerNode(AudioContext&amp; context, float sampleRate)
</span><span class="cx">     : AudioNode(context, sampleRate)
</span><del>-    , m_panningModel(Panner::PanningModelHRTF)
</del><ins>+    , m_panningModel(PanningModelType::HRTF)
</ins><span class="cx">     , m_lastGain(-1.0)
</span><span class="cx">     , m_connectionCount(0)
</span><span class="cx"> {
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // HRTFDatabase should be loaded before proceeding for offline audio context when panningModel() is &quot;HRTF&quot;.
</span><del>-    if (panningModel() == &quot;HRTF&quot; &amp;&amp; !m_hrtfDatabaseLoader-&gt;isLoaded()) {
</del><ins>+    if (panningModel() == PanningModelType::HRTF &amp;&amp; !m_hrtfDatabaseLoader-&gt;isLoaded()) {
</ins><span class="cx">         if (context().isOfflineContext())
</span><span class="cx">             m_hrtfDatabaseLoader-&gt;waitForLoaderThreadCompletion();
</span><span class="cx">         else {
</span><span class="lines">@@ -176,99 +176,27 @@
</span><span class="cx">     return context().listener();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String PannerNode::panningModel() const
</del><ins>+void PannerNode::setPanningModel(PanningModelType model)
</ins><span class="cx"> {
</span><del>-    switch (m_panningModel) {
-    case EQUALPOWER:
-        return &quot;equalpower&quot;;
-    case HRTF:
-        return &quot;HRTF&quot;;
-    case SOUNDFIELD:
-        return &quot;soundfield&quot;;
-    default:
-        ASSERT_NOT_REACHED();
-        return &quot;HRTF&quot;;
-    }
-}
</del><ins>+    if (!m_panner.get() || model != m_panningModel) {
+        // This synchronizes with process().
+        std::lock_guard&lt;Lock&gt; lock(m_pannerMutex);
</ins><span class="cx"> 
</span><del>-void PannerNode::setPanningModel(const String&amp; model)
-{
-    if (model == &quot;equalpower&quot;)
-        setPanningModel(EQUALPOWER);
-    else if (model == &quot;HRTF&quot;)
-        setPanningModel(HRTF);
-    else if (model == &quot;soundfield&quot;)
-        setPanningModel(SOUNDFIELD);
-    else
-        ASSERT_NOT_REACHED();
-}
-
-bool PannerNode::setPanningModel(unsigned model)
-{
-    switch (model) {
-    case EQUALPOWER:
-    case HRTF:
-        if (!m_panner.get() || model != m_panningModel) {
-            // This synchronizes with process().
-            std::lock_guard&lt;Lock&gt; lock(m_pannerMutex);
-
-            m_panner = Panner::create(model, sampleRate(), m_hrtfDatabaseLoader.get());
-            m_panningModel = model;
-        }
-        break;
-    case SOUNDFIELD:
-        // FIXME: Implement sound field model. See // https://bugs.webkit.org/show_bug.cgi?id=77367.
-        context().scriptExecutionContext()-&gt;addConsoleMessage(MessageSource::JS, MessageLevel::Warning, ASCIILiteral(&quot;'soundfield' panning model not implemented.&quot;));
-        break;
-    default:
-        return false;
</del><ins>+        m_panner = Panner::create(model, sampleRate(), m_hrtfDatabaseLoader.get());
+        m_panningModel = model;
</ins><span class="cx">     }
</span><del>-    
-    return true;
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-String PannerNode::distanceModel() const
</del><ins>+DistanceModelType PannerNode::distanceModel() const
</ins><span class="cx"> {
</span><del>-    switch (const_cast&lt;PannerNode*&gt;(this)-&gt;m_distanceEffect.model()) {
-    case DistanceEffect::ModelLinear:
-        return &quot;linear&quot;;
-    case DistanceEffect::ModelInverse:
-        return &quot;inverse&quot;;
-    case DistanceEffect::ModelExponential:
-        return &quot;exponential&quot;;
-    default:
-        ASSERT_NOT_REACHED();
-        return &quot;inverse&quot;;
-    }
</del><ins>+    return const_cast&lt;PannerNode*&gt;(this)-&gt;m_distanceEffect.model();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PannerNode::setDistanceModel(const String&amp; model)
</del><ins>+void PannerNode::setDistanceModel(DistanceModelType model)
</ins><span class="cx"> {
</span><del>-    if (model == &quot;linear&quot;)
-        setDistanceModel(DistanceEffect::ModelLinear);
-    else if (model == &quot;inverse&quot;)
-        setDistanceModel(DistanceEffect::ModelInverse);
-    else if (model == &quot;exponential&quot;)
-        setDistanceModel(DistanceEffect::ModelExponential);
-    else
-        ASSERT_NOT_REACHED();
</del><ins>+    m_distanceEffect.setModel(model, true);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool PannerNode::setDistanceModel(unsigned model)
-{
-    switch (model) {
-    case DistanceEffect::ModelLinear:
-    case DistanceEffect::ModelInverse:
-    case DistanceEffect::ModelExponential:
-        m_distanceEffect.setModel(static_cast&lt;DistanceEffect::ModelType&gt;(model), true);
-        break;
-    default:
-        return false;
-    }
-
-    return true;
-}
-
</del><span class="cx"> void PannerNode::getAzimuthElevation(double* outAzimuth, double* outElevation)
</span><span class="cx"> {
</span><span class="cx">     // FIXME: we should cache azimuth and elevation (if possible), so we only re-calculate if a change has been made.
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPannerNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PannerNode.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PannerNode.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/PannerNode.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -49,21 +49,6 @@
</span><span class="cx"> 
</span><span class="cx"> class PannerNode : public AudioNode {
</span><span class="cx"> public:
</span><del>-    // These must be defined as in the .idl file and must match those in the Panner class.
-    enum {
-        EQUALPOWER = 0,
-        HRTF = 1,
-        SOUNDFIELD = 2,
-    };
-
-    // These must be defined as in the .idl file and must match those
-    // in the DistanceEffect class.
-    enum {
-        LINEAR_DISTANCE = 0,
-        INVERSE_DISTANCE = 1,
-        EXPONENTIAL_DISTANCE = 2,
-    };
-
</del><span class="cx">     static Ref&lt;PannerNode&gt; create(AudioContext&amp; context, float sampleRate)
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new PannerNode(context, sampleRate));
</span><span class="lines">@@ -82,9 +67,8 @@
</span><span class="cx">     AudioListener* listener();
</span><span class="cx"> 
</span><span class="cx">     // Panning model
</span><del>-    String panningModel() const;
-    bool setPanningModel(unsigned); // Returns true on success.
-    void setPanningModel(const String&amp;);
</del><ins>+    PanningModelType panningModel() const { return m_panningModel; }
+    void setPanningModel(PanningModelType);
</ins><span class="cx"> 
</span><span class="cx">     // Position
</span><span class="cx">     FloatPoint3D position() const { return m_position; }
</span><span class="lines">@@ -99,9 +83,8 @@
</span><span class="cx">     void setVelocity(float x, float y, float z) { m_velocity = FloatPoint3D(x, y, z); }
</span><span class="cx"> 
</span><span class="cx">     // Distance parameters
</span><del>-    String distanceModel() const;
-    bool setDistanceModel(unsigned); // Returns true on success.
-    void setDistanceModel(const String&amp;);
</del><ins>+    DistanceModelType distanceModel() const;
+    void setDistanceModel(DistanceModelType);
</ins><span class="cx"> 
</span><span class="cx">     double refDistance() { return m_distanceEffect.refDistance(); }
</span><span class="cx">     void setRefDistance(double refDistance) { m_distanceEffect.setRefDistance(refDistance); }
</span><span class="lines">@@ -143,7 +126,7 @@
</span><span class="cx">     void notifyAudioSourcesConnectedToNode(AudioNode*, HashSet&lt;AudioNode*&gt;&amp; visitedNodes);
</span><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;Panner&gt; m_panner;
</span><del>-    unsigned m_panningModel;
</del><ins>+    PanningModelType m_panningModel;
</ins><span class="cx"> 
</span><span class="cx">     FloatPoint3D m_position;
</span><span class="cx">     FloatPoint3D m_orientation;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPannerNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PannerNode.idl (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PannerNode.idl        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/PannerNode.idl        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -23,22 +23,27 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><ins>+    ImplementedAs=PanningModelType
+] enum PanningModelType {
+    &quot;equalpower&quot;,
+    &quot;HRTF&quot;
+};
+
+[
+    ImplementedAs=DistanceModelType
+] enum DistanceModelType {
+    &quot;linear&quot;,
+    &quot;inverse&quot;,
+    &quot;exponential&quot;
+};
+
+[
</ins><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     InterfaceName=webkitAudioPannerNode,
</span><span class="cx"> ] interface PannerNode : AudioNode {
</span><del>-    // Panning model
-    const unsigned short EQUALPOWER = 0;
-    const unsigned short HRTF = 1;
-    const unsigned short SOUNDFIELD = 2;
-
-    // Distance model
-    const unsigned short LINEAR_DISTANCE = 0;
-    const unsigned short INVERSE_DISTANCE = 1;
-    const unsigned short EXPONENTIAL_DISTANCE = 2;
-
</del><span class="cx">     // Default model for stereo is HRTF 
</span><del>-    [CustomSetter] attribute DOMString panningModel;
</del><ins>+    attribute PanningModelType panningModel;
</ins><span class="cx"> 
</span><span class="cx">     // Uses a 3D cartesian coordinate system 
</span><span class="cx">     void setPosition(unrestricted float x, unrestricted float y, unrestricted float z);
</span><span class="lines">@@ -46,7 +51,7 @@
</span><span class="cx">     void setVelocity(unrestricted float x, unrestricted float y, unrestricted float z);
</span><span class="cx"> 
</span><span class="cx">     // Distance model
</span><del>-    [CustomSetter] attribute DOMString distanceModel;
</del><ins>+    attribute DistanceModelType distanceModel;
</ins><span class="cx"> 
</span><span class="cx">     attribute unrestricted double refDistance;
</span><span class="cx">     attribute unrestricted double maxDistance;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPeriodicWavecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/PeriodicWave.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;PeriodicWave.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;FFTFrame.h&quot;
</span><del>-#include &quot;OscillatorNode.h&quot;
</del><span class="cx"> #include &quot;VectorMath.h&quot;
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -57,7 +56,7 @@
</span><span class="cx"> Ref&lt;PeriodicWave&gt; PeriodicWave::createSine(float sampleRate)
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;PeriodicWave&gt; waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>-    waveTable-&gt;generateBasicWaveform(OscillatorNode::SINE);
</del><ins>+    waveTable-&gt;generateBasicWaveform(Type::Sine);
</ins><span class="cx">     return waveTable;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -64,7 +63,7 @@
</span><span class="cx"> Ref&lt;PeriodicWave&gt; PeriodicWave::createSquare(float sampleRate)
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;PeriodicWave&gt; waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>-    waveTable-&gt;generateBasicWaveform(OscillatorNode::SQUARE);
</del><ins>+    waveTable-&gt;generateBasicWaveform(Type::Square);
</ins><span class="cx">     return waveTable;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -71,7 +70,7 @@
</span><span class="cx"> Ref&lt;PeriodicWave&gt; PeriodicWave::createSawtooth(float sampleRate)
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;PeriodicWave&gt; waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>-    waveTable-&gt;generateBasicWaveform(OscillatorNode::SAWTOOTH);
</del><ins>+    waveTable-&gt;generateBasicWaveform(Type::Sawtooth);
</ins><span class="cx">     return waveTable;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -78,7 +77,7 @@
</span><span class="cx"> Ref&lt;PeriodicWave&gt; PeriodicWave::createTriangle(float sampleRate)
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;PeriodicWave&gt; waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>-    waveTable-&gt;generateBasicWaveform(OscillatorNode::TRIANGLE);
</del><ins>+    waveTable-&gt;generateBasicWaveform(Type::Triangle);
</ins><span class="cx">     return waveTable;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -213,7 +212,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PeriodicWave::generateBasicWaveform(int shape)
</del><ins>+void PeriodicWave::generateBasicWaveform(Type shape)
</ins><span class="cx"> {
</span><span class="cx">     unsigned fftSize = periodicWaveSize();
</span><span class="cx">     unsigned halfSize = fftSize / 2;
</span><span class="lines">@@ -238,31 +237,26 @@
</span><span class="cx">         // Calculate Fourier coefficients depending on the shape.
</span><span class="cx">         // Note that the overall scaling (magnitude) of the waveforms is normalized in createBandLimitedTables().
</span><span class="cx">         switch (shape) {
</span><del>-        case OscillatorNode::SINE:
</del><ins>+        case Type::Sine:
</ins><span class="cx">             // Standard sine wave function.
</span><span class="cx">             a = 0;
</span><span class="cx">             b = (n == 1) ? 1 : 0;
</span><span class="cx">             break;
</span><del>-        case OscillatorNode::SQUARE:
</del><ins>+        case Type::Square:
</ins><span class="cx">             // Square-shaped waveform with the first half its maximum value and the second half its minimum value.
</span><span class="cx">             a = 0;
</span><span class="cx">             b = invOmega * ((n &amp; 1) ? 2 : 0);
</span><span class="cx">             break;
</span><del>-        case OscillatorNode::SAWTOOTH:
</del><ins>+        case Type::Sawtooth:
</ins><span class="cx">             // Sawtooth-shaped waveform with the first half ramping from zero to maximum and the second half from minimum to zero.
</span><span class="cx">             a = 0;
</span><span class="cx">             b = -invOmega * cos(0.5 * omega);
</span><span class="cx">             break;
</span><del>-        case OscillatorNode::TRIANGLE:
</del><ins>+        case Type::Triangle:
</ins><span class="cx">             // Triangle-shaped waveform going from its maximum value to its minimum value then back to the maximum value.
</span><span class="cx">             a = (4 - 4 * cos(0.5 * omega)) / (n * n * piFloat * piFloat);
</span><span class="cx">             b = 0;
</span><span class="cx">             break;
</span><del>-        default:
-            ASSERT_NOT_REACHED();
-            a = 0;
-            b = 0;
-            break;
</del><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         realP[n] = a;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioPeriodicWaveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/Modules/webaudio/PeriodicWave.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -63,9 +63,16 @@
</span><span class="cx">     float sampleRate() const { return m_sampleRate; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    enum class Type {
+        Sine,
+        Square,
+        Sawtooth,
+        Triangle,
+    };
+
</ins><span class="cx">     explicit PeriodicWave(float sampleRate);
</span><span class="cx"> 
</span><del>-    void generateBasicWaveform(int);
</del><ins>+    void generateBasicWaveform(Type);
</ins><span class="cx"> 
</span><span class="cx">     float m_sampleRate;
</span><span class="cx">     unsigned m_periodicWaveSize;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -6537,8 +6537,6 @@
</span><span class="cx">                 FD7F299713D4C0CB00AD9535 /* WaveShaperProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7F299013D4C0CB00AD9535 /* WaveShaperProcessor.h */; };
</span><span class="cx">                 FD82D7F713D4C8BD004E4372 /* JSWaveShaperNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD82D7F513D4C8BD004E4372 /* JSWaveShaperNode.cpp */; };
</span><span class="cx">                 FD82D7F813D4C8BD004E4372 /* JSWaveShaperNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD82D7F613D4C8BD004E4372 /* JSWaveShaperNode.h */; };
</span><del>-                FD8AA63C1695148E00D2EA68 /* JSBiquadFilterNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD8AA63B1695148E00D2EA68 /* JSBiquadFilterNodeCustom.cpp */; };
-                FD8AA63E169514A700D2EA68 /* JSPannerNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD8AA63D169514A700D2EA68 /* JSPannerNodeCustom.cpp */; };
</del><span class="cx">                 FD8C46EB154608E700A5910C /* AudioScheduledSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD8C46E9154608E700A5910C /* AudioScheduledSourceNode.cpp */; };
</span><span class="cx">                 FD8C46EC154608E700A5910C /* AudioScheduledSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD8C46EA154608E700A5910C /* AudioScheduledSourceNode.h */; };
</span><span class="cx">                 FDA15E9D12B03EE1003A583A /* JSAudioBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */; };
</span><span class="lines">@@ -6587,7 +6585,6 @@
</span><span class="cx">                 FDB052E01561A42C00B500D6 /* AudioSummingJunction.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB052DE1561A42C00B500D6 /* AudioSummingJunction.h */; };
</span><span class="cx">                 FDB1700514A2BAB200A2B5D9 /* MultiChannelResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */; };
</span><span class="cx">                 FDB1700614A2BAB200A2B5D9 /* MultiChannelResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */; };
</span><del>-                FDBD1DFC167FE27D0051A11E /* JSOscillatorNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */; };
</del><span class="cx">                 FDBD480C159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */; };
</span><span class="cx">                 FDBD480D159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FDBD480B159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h */; };
</span><span class="cx">                 FDC54F041399B0DA008D9117 /* BiquadFilterNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDC54F011399B0DA008D9117 /* BiquadFilterNode.cpp */; };
</span><span class="lines">@@ -14150,8 +14147,6 @@
</span><span class="cx">                 FD7F299013D4C0CB00AD9535 /* WaveShaperProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveShaperProcessor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FD82D7F513D4C8BD004E4372 /* JSWaveShaperNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWaveShaperNode.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FD82D7F613D4C8BD004E4372 /* JSWaveShaperNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWaveShaperNode.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                FD8AA63B1695148E00D2EA68 /* JSBiquadFilterNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSBiquadFilterNodeCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                FD8AA63D169514A700D2EA68 /* JSPannerNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPannerNodeCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 FD8C46E9154608E700A5910C /* AudioScheduledSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioScheduledSourceNode.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FD8C46EA154608E700A5910C /* AudioScheduledSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioScheduledSourceNode.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAudioBuffer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14202,7 +14197,6 @@
</span><span class="cx">                 FDB052DE1561A42C00B500D6 /* AudioSummingJunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioSummingJunction.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiChannelResampler.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiChannelResampler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOscillatorNodeCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamAudioSourceNode.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FDBD480B159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStreamAudioSourceNode.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 FDC54F011399B0DA008D9117 /* BiquadFilterNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BiquadFilterNode.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -20955,7 +20949,6 @@
</span><span class="cx">                                 FDEAAAF012B02EE400DCF33B /* JSAudioContextCustom.cpp */,
</span><span class="cx">                                 BE6DF70E171CA2DA00DD52B8 /* JSAudioTrackCustom.cpp */,
</span><span class="cx">                                 BE6DF710171CA2DA00DD52B8 /* JSAudioTrackListCustom.cpp */,
</span><del>-                                FD8AA63B1695148E00D2EA68 /* JSBiquadFilterNodeCustom.cpp */,
</del><span class="cx">                                 8931DE5A14C44C44000DC9D2 /* JSBlobCustom.cpp */,
</span><span class="cx">                                 49EED14B1051971900099FAB /* JSCanvasRenderingContext2DCustom.cpp */,
</span><span class="cx">                                 4659D2701D6B909F0096FD86 /* JSCanvasRenderingContext.h */,
</span><span class="lines">@@ -21045,8 +21038,6 @@
</span><span class="cx">                                 1A750DD30A90E729000FF215 /* JSNodeIteratorCustom.cpp */,
</span><span class="cx">                                 BCD9C2610C17AA67005C90A2 /* JSNodeListCustom.cpp */,
</span><span class="cx">                                 AD20B18C18E9D216005A8083 /* JSNodeListCustom.h */,
</span><del>-                                FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */,
-                                FD8AA63D169514A700D2EA68 /* JSPannerNodeCustom.cpp */,
</del><span class="cx">                                 A85F22081430377D007CC884 /* JSPopStateEventCustom.cpp */,
</span><span class="cx">                                 418C395D1C8F0AAB0051C8A3 /* JSReadableStreamSourceCustom.cpp */,
</span><span class="cx">                                 07DC5FD317D3EEE90099F890 /* JSRTCStatsResponseCustom.cpp */,
</span><span class="lines">@@ -28351,7 +28342,6 @@
</span><span class="cx">                                 BC946346107A934B00857193 /* JSBeforeLoadEvent.cpp in Sources */,
</span><span class="cx">                                 70F546E8B8B5D7DC54EE144E /* JSBeforeUnloadEvent.cpp in Sources */,
</span><span class="cx">                                 FDF09DC81399B62200688E5B /* JSBiquadFilterNode.cpp in Sources */,
</span><del>-                                FD8AA63C1695148E00D2EA68 /* JSBiquadFilterNodeCustom.cpp in Sources */,
</del><span class="cx">                                 2E2D99CD10E2BBDA00496337 /* JSBlob.cpp in Sources */,
</span><span class="cx">                                 8931DE5B14C44C44000DC9D2 /* JSBlobCustom.cpp in Sources */,
</span><span class="cx">                                 14DCF3B21B6BE2080062D4C3 /* JSByteLengthQueuingStrategy.cpp in Sources */,
</span><span class="lines">@@ -28713,13 +28703,11 @@
</span><span class="cx">                                 FDF6BAF8134A4C9800822920 /* JSOfflineAudioCompletionEvent.cpp in Sources */,
</span><span class="cx">                                 FDA9326616703BA9008982DC /* JSOfflineAudioContext.cpp in Sources */,
</span><span class="cx">                                 FDEA6242152102E200479DF0 /* JSOscillatorNode.cpp in Sources */,
</span><del>-                                FDBD1DFC167FE27D0051A11E /* JSOscillatorNodeCustom.cpp in Sources */,
</del><span class="cx">                                 0704A40B1D6DFC690086DCDB /* JSOverconstrainedError.cpp in Sources */,
</span><span class="cx">                                 0704A4151D6F39FB0086DCDB /* JSOverconstrainedErrorEvent.cpp in Sources */,
</span><span class="cx">                                 1A0D57400A5C7867007EDD4C /* JSOverflowEvent.cpp in Sources */,
</span><span class="cx">                                 E1284BB210449FFA00EAEB52 /* JSPageTransitionEvent.cpp in Sources */,
</span><span class="cx">                                 FDA15EB112B03EE1003A583A /* JSPannerNode.cpp in Sources */,
</span><del>-                                FD8AA63E169514A700D2EA68 /* JSPannerNodeCustom.cpp in Sources */,
</del><span class="cx">                                 E51A81DF17298D7700BFCA61 /* JSPerformance.cpp in Sources */,
</span><span class="cx">                                 CB38FD511CCF938900592A3F /* JSPerformanceEntry.cpp in Sources */,
</span><span class="cx">                                 CB38FD571CD21E2A00592A3F /* JSPerformanceEntryCustom.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSAudioContextCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -68,41 +68,9 @@
</span><span class="cx">         }
</span><span class="cx">         if (!audioContext)
</span><span class="cx">             return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;audio resources unavailable for AudioContext construction&quot;));
</span><del>-    } else {
-#if ENABLE(LEGACY_WEB_AUDIO)
-        // Constructor for offline (render-target) AudioContext which renders into an AudioBuffer.
-        // new AudioContext(in unsigned long numberOfChannels, in unsigned long numberOfFrames, in float sampleRate);
-        document.addConsoleMessage(MessageSource::JS, MessageLevel::Warning, ASCIILiteral(&quot;Deprecated AudioContext constructor: use OfflineAudioContext instead&quot;));
</del><ins>+    } else
+        return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;Illegal AudioContext constructor&quot;));
</ins><span class="cx"> 
</span><del>-        if (exec.argumentCount() &lt; 3)
-            return throwVMError(&amp;exec, createNotEnoughArgumentsError(&amp;exec));
-
-        int32_t numberOfChannels = exec.uncheckedArgument(0).toInt32(&amp;exec);
-        int32_t numberOfFrames = exec.uncheckedArgument(1).toInt32(&amp;exec);
-        float sampleRate = exec.uncheckedArgument(2).toFloat(&amp;exec);
-
-        if (numberOfChannels &lt;= 0 || numberOfChannels &gt; 10)
-            return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;Invalid number of channels&quot;));
-
-        if (numberOfFrames &lt;= 0)
-            return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;Invalid number of frames&quot;));
-
-        if (sampleRate &lt;= 0)
-            return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;Invalid sample rate&quot;));
-
-
-        ExceptionCode ec = 0;
-        audioContext = OfflineAudioContext::create(document, numberOfChannels, numberOfFrames, sampleRate, ec);
-        if (ec) {
-            setDOMException(&amp;exec, ec);
-            return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;Error creating OfflineAudioContext&quot;));
-        }
-#else
-        return throwVMError(&amp;exec, createSyntaxError(&amp;exec, &quot;Illegal AudioContext constructor&quot;));
-#endif
-        if (!audioContext)
-            return throwVMError(&amp;exec, createReferenceError(&amp;exec, &quot;Error creating AudioContext&quot;));
-    }
</del><span class="cx">     return JSValue::encode(CREATE_DOM_WRAPPER(jsConstructor-&gt;globalObject(), AudioContext, audioContext.releaseNonNull()));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBiquadFilterNodeCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/bindings/js/JSBiquadFilterNodeCustom.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,64 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1.  Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(WEB_AUDIO)
-
-#include &quot;JSBiquadFilterNode.h&quot;
-
-#include &quot;BiquadFilterNode.h&quot;
-#include &quot;ExceptionCode.h&quot;
-#include &lt;runtime/Error.h&gt;
-#include &lt;runtime/JSCJSValueInlines.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSBiquadFilterNode::setType(ExecState&amp; state, JSValue value)
-{
-#if ENABLE(LEGACY_WEB_AUDIO)
-    if (value.isNumber()) {
-        uint32_t type = value.toUInt32(&amp;state);
-        if (!wrapped().setType(type))
-            throwTypeError(&amp;state, &quot;Illegal BiquadFilterNode type&quot;);
-        return;
-    }
-#endif
-
-    if (value.isString()) {
-        String type = value.toString(&amp;state)-&gt;value(&amp;state);
-        if (type == &quot;lowpass&quot; || type == &quot;highpass&quot; || type == &quot;bandpass&quot; || type == &quot;lowshelf&quot; || type == &quot;highshelf&quot; || type == &quot;peaking&quot; || type == &quot;notch&quot; || type == &quot;allpass&quot;) {
-            wrapped().setType(type);
-            return;
-        }
-    }
-    
-    throwTypeError(&amp;state, &quot;Illegal BiquadFilterNode type&quot;);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_AUDIO)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSOscillatorNodeCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/bindings/js/JSOscillatorNodeCustom.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,66 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1.  Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(WEB_AUDIO)
-
-#include &quot;JSOscillatorNode.h&quot;
-
-#include &quot;ExceptionCode.h&quot;
-#include &quot;OscillatorNode.h&quot;
-#include &lt;runtime/Error.h&gt;
-#include &lt;runtime/JSCJSValueInlines.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSOscillatorNode::setType(ExecState&amp; state, JSValue value)
-{
-    OscillatorNode&amp; imp = wrapped();
-
-#if ENABLE(LEGACY_WEB_AUDIO)
-    if (value.isNumber()) {
-        uint32_t type = value.toUInt32(&amp;state);
-        if (!imp.setType(type))
-            throwTypeError(&amp;state, ASCIILiteral(&quot;Illegal OscillatorNode type&quot;));
-        return;
-    }
-#endif
-
-    if (value.isString()) {
-        String type = value.toString(&amp;state)-&gt;value(&amp;state);
-        if (type == &quot;sine&quot; || type == &quot;square&quot; || type == &quot;sawtooth&quot; || type == &quot;triangle&quot;) {
-            imp.setType(type);
-            return;
-        }
-    }
-    
-    throwTypeError(&amp;state, ASCIILiteral(&quot;Illegal OscillatorNode type&quot;));
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_AUDIO)
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPannerNodeCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/bindings/js/JSPannerNodeCustom.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,90 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1.  Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(WEB_AUDIO)
-
-#include &quot;JSPannerNode.h&quot;
-
-#include &quot;ExceptionCode.h&quot;
-#include &quot;PannerNode.h&quot;
-#include &lt;runtime/Error.h&gt;
-#include &lt;runtime/JSCJSValueInlines.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSPannerNode::setPanningModel(ExecState&amp; state, JSValue value)
-{
-    PannerNode&amp; imp = wrapped();
-
-#if ENABLE(LEGACY_WEB_AUDIO)
-    if (value.isNumber()) {
-        uint32_t model = value.toUInt32(&amp;state);
-        if (!imp.setPanningModel(model))
-            throwTypeError(&amp;state, ASCIILiteral(&quot;Illegal panningModel&quot;));
-        return;
-    }
-#endif
-
-    if (value.isString()) {
-        String model = value.toString(&amp;state)-&gt;value(&amp;state);
-        if (model == &quot;equalpower&quot; || model == &quot;HRTF&quot; || model == &quot;soundfield&quot;) {
-            imp.setPanningModel(model);
-            return;
-        }
-    }
-    
-    throwTypeError(&amp;state, ASCIILiteral(&quot;Illegal panningModel&quot;));
-}
-
-void JSPannerNode::setDistanceModel(ExecState&amp; state, JSValue value)
-{
-    PannerNode&amp; imp = wrapped();
-
-#if ENABLE(LEGACY_WEB_AUDIO)
-    if (value.isNumber()) {
-        uint32_t model = value.toUInt32(&amp;state);
-        if (!imp.setDistanceModel(model))
-            throwTypeError(&amp;state, ASCIILiteral(&quot;Illegal distanceModel&quot;));
-        return;
-    }
-#endif
-
-    if (value.isString()) {
-        String model = value.toString(&amp;state)-&gt;value(&amp;state);
-        if (model == &quot;linear&quot; || model == &quot;inverse&quot; || model == &quot;exponential&quot;) {
-            imp.setDistanceModel(model);
-            return;
-        }
-    }
-    
-    throwTypeError(&amp;state, ASCIILiteral(&quot;Illegal distanceModel&quot;));
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(WEB_AUDIO)
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioDistancecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/Distance.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/Distance.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/platform/audio/Distance.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> DistanceEffect::DistanceEffect()
</span><del>-    : m_model(ModelInverse)
</del><ins>+    : m_model(DistanceModelType::Inverse)
</ins><span class="cx">     , m_isClamped(true)
</span><span class="cx">     , m_refDistance(1.0)
</span><span class="cx">     , m_maxDistance(10000.0)
</span><span class="lines">@@ -56,11 +56,11 @@
</span><span class="cx">         distance = std::max(distance, m_refDistance);
</span><span class="cx"> 
</span><span class="cx">     switch (m_model) {
</span><del>-    case ModelLinear:
</del><ins>+    case DistanceModelType::Linear:
</ins><span class="cx">         return linearGain(distance);
</span><del>-    case ModelInverse:
</del><ins>+    case DistanceModelType::Inverse:
</ins><span class="cx">         return inverseGain(distance);
</span><del>-    case ModelExponential:
</del><ins>+    case DistanceModelType::Exponential:
</ins><span class="cx">         return exponentialGain(distance);
</span><span class="cx">     }
</span><span class="cx">     ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioDistanceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/Distance.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/Distance.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/platform/audio/Distance.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -34,22 +34,22 @@
</span><span class="cx"> // Distance models are defined according to the OpenAL specification:
</span><span class="cx"> // http://connect.creativelabs.com/openal/Documentation/OpenAL%201.1%20Specification.htm.
</span><span class="cx"> 
</span><ins>+enum class DistanceModelType {
+    Linear,
+    Inverse,
+    Exponential
+};
+
</ins><span class="cx"> class DistanceEffect {
</span><span class="cx"> public:
</span><del>-    enum ModelType {
-        ModelLinear = 0,
-        ModelInverse = 1,
-        ModelExponential = 2
-    };
-
</del><span class="cx">     DistanceEffect();
</span><span class="cx"> 
</span><span class="cx">     // Returns scalar gain for the given distance the current distance model is used
</span><span class="cx">     double gain(double distance);
</span><span class="cx"> 
</span><del>-    ModelType model() { return m_model; }
</del><ins>+    DistanceModelType model() { return m_model; }
</ins><span class="cx"> 
</span><del>-    void setModel(ModelType model, bool clamped)
</del><ins>+    void setModel(DistanceModelType model, bool clamped)
</ins><span class="cx">     {
</span><span class="cx">         m_model = model;
</span><span class="cx">         m_isClamped = clamped;
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     double inverseGain(double distance);
</span><span class="cx">     double exponentialGain(double distance);
</span><span class="cx"> 
</span><del>-    ModelType m_model;
</del><ins>+    DistanceModelType m_model;
</ins><span class="cx">     bool m_isClamped;
</span><span class="cx">     double m_refDistance;
</span><span class="cx">     double m_maxDistance;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioEqualPowerPannercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/EqualPowerPanner.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/EqualPowerPanner.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/platform/audio/EqualPowerPanner.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> EqualPowerPanner::EqualPowerPanner(float sampleRate)
</span><del>-    : Panner(PanningModelEqualPower)
</del><ins>+    : Panner(PanningModelType::Equalpower)
</ins><span class="cx">     , m_isFirstRender(true)
</span><span class="cx">     , m_gainL(0.0)
</span><span class="cx">     , m_gainR(0.0)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioHRTFPannercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/HRTFPanner.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/HRTFPanner.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/platform/audio/HRTFPanner.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> const unsigned RenderingQuantum = 128;
</span><span class="cx"> 
</span><span class="cx"> HRTFPanner::HRTFPanner(float sampleRate, HRTFDatabaseLoader* databaseLoader)
</span><del>-    : Panner(PanningModelHRTF)
</del><ins>+    : Panner(PanningModelType::HRTF)
</ins><span class="cx">     , m_databaseLoader(databaseLoader)
</span><span class="cx">     , m_sampleRate(sampleRate)
</span><span class="cx">     , m_crossfadeSelection(CrossfadeSelection1)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioPannercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/Panner.cpp (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/Panner.cpp        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/platform/audio/Panner.cpp        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -37,24 +37,18 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;Panner&gt; Panner::create(PanningModel model, float sampleRate, HRTFDatabaseLoader* databaseLoader)
</del><ins>+std::unique_ptr&lt;Panner&gt; Panner::create(PanningModelType model, float sampleRate, HRTFDatabaseLoader* databaseLoader)
</ins><span class="cx"> {
</span><span class="cx">     std::unique_ptr&lt;Panner&gt; panner;
</span><span class="cx"> 
</span><span class="cx">     switch (model) {
</span><del>-    case PanningModelEqualPower:
</del><ins>+    case PanningModelType::Equalpower:
</ins><span class="cx">         panner = std::make_unique&lt;EqualPowerPanner&gt;(sampleRate);
</span><span class="cx">         break;
</span><span class="cx"> 
</span><del>-    case PanningModelHRTF:
</del><ins>+    case PanningModelType::HRTF:
</ins><span class="cx">         panner = std::make_unique&lt;HRTFPanner&gt;(sampleRate, databaseLoader);
</span><span class="cx">         break;
</span><del>-
-    // FIXME: sound field panning is not yet implemented...
-    case PanningModelSoundField:
-    default:
-        ASSERT_NOT_REACHED();
-        return nullptr;
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return panner;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioPannerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/Panner.h (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/Panner.h        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebCore/platform/audio/Panner.h        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -36,23 +36,20 @@
</span><span class="cx"> class AudioBus;
</span><span class="cx"> class HRTFDatabaseLoader;
</span><span class="cx"> 
</span><ins>+enum class PanningModelType {
+    Equalpower,
+    HRTF
+};
+
</ins><span class="cx"> // Abstract base class for panning a mono or stereo source.
</span><span class="cx"> 
</span><span class="cx"> class Panner {
</span><span class="cx"> public:
</span><del>-    enum {
-        PanningModelEqualPower = 0,
-        PanningModelHRTF = 1,
-        PanningModelSoundField = 2
-    };
-    
-    typedef unsigned PanningModel;
</del><ins>+    static std::unique_ptr&lt;Panner&gt; create(PanningModelType, float sampleRate, HRTFDatabaseLoader*);
</ins><span class="cx"> 
</span><del>-    static std::unique_ptr&lt;Panner&gt; create(PanningModel, float sampleRate, HRTFDatabaseLoader*);
-
</del><span class="cx">     virtual ~Panner() { };
</span><span class="cx"> 
</span><del>-    PanningModel panningModel() const { return m_panningModel; }
</del><ins>+    PanningModelType panningModel() const { return m_panningModel; }
</ins><span class="cx"> 
</span><span class="cx">     virtual void pan(double azimuth, double elevation, const AudioBus* inputBus, AudioBus* outputBus, size_t framesToProcess) = 0;
</span><span class="cx"> 
</span><span class="lines">@@ -62,9 +59,12 @@
</span><span class="cx">     virtual double latencyTime() const = 0;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    Panner(PanningModel model) : m_panningModel(model) { }
</del><ins>+    Panner(PanningModelType model)
+        : m_panningModel(model)
+    {
+    }
</ins><span class="cx"> 
</span><del>-    PanningModel m_panningModel;
</del><ins>+    PanningModelType m_panningModel;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebKit/mac/ChangeLog        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-08-26  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for ENABLE_LEGACY_WEB_AUDIO
+        https://bugs.webkit.org/show_bug.cgi?id=161262
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/FeatureDefines.xcconfig:
+        Remove ENABLE_LEGACY_WEB_AUDIO
+
</ins><span class="cx"> 2016-08-25  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Re-export DOMException NSStrings after r204717
</span></span></pre></div>
<a id="trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
</span><span class="cx"> ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
</span><span class="cx"> ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
</span><del>-ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
</del><span class="cx"> ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
</span><span class="cx"> ENABLE_LINK_PREFETCH = ;
</span><span class="cx"> ENABLE_MATHML = ENABLE_MATHML;
</span><span class="lines">@@ -201,4 +200,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_CUSTOM_ELEMENTS = ENABLE_CUSTOM_ELEMENTS;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRU
 CTOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MED
 IA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_W
 EB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUC
 TOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE
 _MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCK
 ETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</ins></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebKit2/ChangeLog        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-08-26  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for ENABLE_LEGACY_WEB_AUDIO
+        https://bugs.webkit.org/show_bug.cgi?id=161262
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/FeatureDefines.xcconfig:
+        Remove ENABLE_LEGACY_WEB_AUDIO.
+
</ins><span class="cx"> 2016-08-26  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Get rid of NetworkResourceLoader::sendAbortingOnFailure
</span></span></pre></div>
<a id="trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
</span><span class="cx"> ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
</span><span class="cx"> ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
</span><del>-ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
</del><span class="cx"> ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
</span><span class="cx"> ENABLE_LINK_PREFETCH = ;
</span><span class="cx"> ENABLE_MATHML = ENABLE_MATHML;
</span><span class="lines">@@ -201,4 +200,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_CUSTOM_ELEMENTS = ENABLE_CUSTOM_ELEMENTS;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRU
 CTOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MED
 IA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_W
 EB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUC
 TOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE
 _MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCK
 ETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</ins></span></pre></div>
<a id="trunkSourcecmakeOptionsGTKcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsGTK.cmake (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsGTK.cmake        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/cmake/OptionsGTK.cmake        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -162,7 +162,6 @@
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE_IN_WORKERS PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR PRIVATE ON)
</span><del>-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEB_AUDIO PRIVATE OFF)
</del><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CONTROLS_SCRIPT PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS PRIVATE ON)
</span></span></pre></div>
<a id="trunkSourcecmakeOptionsMaccmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsMac.cmake (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsMac.cmake        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/cmake/OptionsMac.cmake        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -57,7 +57,6 @@
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_CSS_VENDOR_PREFIXES PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES PRIVATE ON)
</span><del>-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEB_AUDIO PRIVATE ON)
</del><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LETTERPRESS PRIVATE ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH PRIVATE OFF)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourcecmakeWebKitFeaturescmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/WebKitFeatures.cmake (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/WebKitFeatures.cmake        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Source/cmake/WebKitFeatures.cmake        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -142,7 +142,6 @@
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_CSS_VENDOR_PREFIXES &quot;Toggle legacy css vendor prefix support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_NOTIFICATIONS &quot;Toggle Legacy Desktop Notifications Support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_VENDOR_PREFIXES &quot;Toggle Legacy Vendor Prefix Support&quot; PRIVATE ON)
</span><del>-    WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_WEB_AUDIO &quot;Toggle Legacy Web Audio support&quot; PRIVATE ON)
</del><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_LETTERPRESS &quot;Toggle letterpress support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH &quot;Toggle pre fetching support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_MAC_LONG_PRESS &quot;Toggle mac long press support&quot; PRIVATE OFF)
</span><span class="lines">@@ -212,7 +211,6 @@
</span><span class="cx">     WEBKIT_OPTION_DEPEND(ENABLE_DFG_JIT ENABLE_JIT)
</span><span class="cx">     WEBKIT_OPTION_DEPEND(ENABLE_FTL_JIT ENABLE_DFG_JIT)
</span><span class="cx">     WEBKIT_OPTION_DEPEND(ENABLE_SAMPLING_PROFILER ENABLE_JIT)
</span><del>-    WEBKIT_OPTION_DEPEND(ENABLE_LEGACY_WEB_AUDIO ENABLE_WEB_AUDIO)
</del><span class="cx">     WEBKIT_OPTION_DEPEND(ENABLE_MEDIA_CONTROLS_SCRIPT ENABLE_VIDEO)
</span><span class="cx">     WEBKIT_OPTION_DEPEND(ENABLE_MEDIA_SOURCE ENABLE_VIDEO)
</span><span class="cx">     WEBKIT_OPTION_DEPEND(ENABLE_VIDEO_TRACK ENABLE_VIDEO)
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Tools/ChangeLog        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-08-26  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for ENABLE_LEGACY_WEB_AUDIO
+        https://bugs.webkit.org/show_bug.cgi?id=161262
+
+        Reviewed by Anders Carlsson.
+
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2016-08-26  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add a test harness for running UI tests on the iOS Simulator
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPIConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (205064 => 205065)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig        2016-08-27 00:36:15 UTC (rev 205064)
+++ trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig        2016-08-27 02:01:11 UTC (rev 205065)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
</span><span class="cx"> ENABLE_LEGACY_NOTIFICATIONS[sdk=macosx*] = ENABLE_LEGACY_NOTIFICATIONS;
</span><span class="cx"> ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
</span><del>-ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
</del><span class="cx"> ENABLE_LETTERPRESS[sdk=iphone*] = ENABLE_LETTERPRESS;
</span><span class="cx"> ENABLE_LINK_PREFETCH = ;
</span><span class="cx"> ENABLE_MATHML = ENABLE_MATHML;
</span><span class="lines">@@ -201,4 +200,4 @@
</span><span class="cx"> 
</span><span class="cx"> ENABLE_CUSTOM_ELEMENTS = ENABLE_CUSTOM_ELEMENTS;
</span><span class="cx"> 
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRU
 CTOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MED
 IA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_W
 EB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CSS3_TEXT) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_ELEMENTS) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUC
 TOR) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ES6_MODULES) $(ENABLE_FETCH_API) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE
 _MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEB_ANIMATIONS) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCK
 ETS) $(ENABLE_WEB_TIMING) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
</ins></span></pre>
</div>
</div>

</body>
</html>