<!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 <sam@webkit.org>
+
+ 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 <rniwa@webkit.org>
</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"> "Source has been created");
</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"> "3 second source scheduled to start at time " + (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"> "2 second source starting at time 1");
</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"> "1.25 second source starting at time 0");
</span><span class="cx">
</span><del>- // Test noteGrainOn.
-
- createTest(3,
- function(s) { s.noteGrainOn(renderTime + 1, 0, 1); },
- bufferSource.SCHEDULED_STATE,
- "1 second grain scheduled to start at time " + (renderTime + 1));
-
- createTest(3,
- function(s) { s.noteGrainOn(0.5, 0, 2); },
- bufferSource.PLAYING_STATE,
- "2 second grain starting at time 0.5");
-
- createTest(3,
- function(s) { s.noteGrainOn(0.5, 0, 1); },
- bufferSource.FINISHED_STATE,
- "1 second grain starting at time 0.5");
-
</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"> "a looping 0.5 second source scheduled at time " + (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"> "a looping 0.5 second source starting at time 1.25");
</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 "PASS" messages, followed by "TEST COMPLETE".
</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("audioNode.noteOn()");
- shouldThrow("audioNode.noteGrainOn()");
- shouldThrow("audioNode.noteOff()");
-
</del><span class="cx"> // Check input and output numbers of AudioSourceNode.
</span><span class="cx"> if (audioNode.numberOfInputs === 0)
</span><span class="cx"> testPassed("Source AudioNode has no inputs.");
</span><span class="lines">@@ -93,12 +89,12 @@
</span><span class="cx"> testPassed("exception thrown when connecting to other context's node.");
</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("exception should be thrown when creating audio context with not enough arguments.");
</del><ins>+ testFailed("exception should be thrown when creating audio context with too many arguments.");
</ins><span class="cx"> } catch(e) {
</span><del>- testPassed("exception thrown when creating audio context with not enough arguments.");
</del><ins>+ testPassed("exception thrown when creating audio context with too many arguments.");
</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, "allpass", 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, "bandpass", 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, "highpass", 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, "highshelf", 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, "lowpass", 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, "lowshelf", 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, "notch", 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, "peaking", 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("The default value of gain should be 0.");
</span><span class="cx">
</span><span class="cx"> // Check that all legal filter types can be set.
</span><del>- var filterTypeArray = [{type: "lowpass", integerType: filter.LOWPASS},
- {type: "highpass", integerType: filter.HIGHPASS},
- {type: "bandpass", integerType: filter.BANDPASS},
- {type: "lowshelf", integerType: filter.LOWSHELF},
- {type: "highshelf", integerType: filter.HIGHSHELF},
- {type: "peaking", integerType: filter.PEAKING},
- {type: "notch", integerType: filter.NOTCH},
- {type: "allpass", integerType: filter.ALLPASS}];
</del><ins>+ var filterTypeArray = [{type: "lowpass"},
+ {type: "highpass"},
+ {type: "bandpass"},
+ {type: "lowshelf"},
+ {type: "highshelf"},
+ {type: "peaking"},
+ {type: "notch"},
+ {type: "allpass"}];
</ins><span class="cx">
</span><span class="cx"> for (var i = 0; i < 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 < filterTypeArray.length; ++i) {
- try {
- filter.type = filterTypeArray[i].integerType;
- if (filter.type === filterTypeArray[i].type && filterTypeArray[i].integerType === i) {
- var message = "Biquad filter type " + i + " is settable using legacy integer value.";
- testPassed(message);
- } else {
- var message = "Biquad filter type " + i + " was not correctly set using legacy integer value.";
- testFailed(message);
- }
- } catch(e) {
- var message = "Biquad filter type " + i + " should not throw exception using legacy integer value.";
- testFailed(message);
- }
- }
</del><ins>+ // Check that we don't throw an exception for illegal .type values as per WebIDL.
+ shouldNotThrowException(function() { filter.type = "xyz12349jfksd"; }, "Setting .type to illegal string value");
+ shouldNotThrowException(function() { filter.type = new Float32Array(1); }, "Setting .type to illegal type");
</ins><span class="cx">
</span><del>- // Check that illegal filter type throws.
- try {
- filter.type = filter.ALLPASS + 1;
- testFailed("Illegal filter type should throw exception.");
- } catch(e) {
- testPassed("Illegal filter type correctly throws exception.");
- }
-
- // Check specifically that we throw a TypeError.
- shouldThrowTypeError(function() { filter.type = "xyz12349jfksd"; }, "Setting .type to illegal string value");
- shouldThrowTypeError(function() { filter.type = new Float32Array(1); }, "Setting .type to illegal type of Float32Array");
-
</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 "PASS" messages, followed by "TEST COMPLETE".
</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, "exponential");
</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 "PASS" messages, followed by "TEST COMPLETE".
</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, "inverse");
</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 "PASS" messages, followed by "TEST COMPLETE".
</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, "linear");
</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("AudioParam") > -1)
</span><span class="cx"> testPassed("gain is of AudioParam type.");
</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("Successfully created JavaScriptAudioNode.");
</span><span class="cx"> } catch (e) {
</span><span class="cx"> testFailed("Failed to create JavaScriptAudioNode.");
</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 "PASS" messages, followed by "TEST COMPLETE".
-
-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>-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <script src="resources/audio-testing.js"></script>
- <script src="resources/note-grain-on-testing.js"></script>
- <script src="../resources/js-test-pre.js"></script>
- </head>
-
- <body>
- <div id="description"></div>
- <div id="console"></div>
-
- <script>
- description("Test noteGrainOn offset rendering.");
-
- // 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 < 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 && verifyStartAndEndFrames(startEndFrames);
-
- // Loop through each of the rendered grains and check that
- // each grain contains our expected ramp.
- for (var k = 0; k < 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("Grain " + k + " incorrect. Expected " + result.expected + " but received " + result.actual + " at sample frame " + result.frame);
- ++invalidGrainDataCount;
- success = false;
- }
- }
-
- if (!invalidGrainDataCount) {
- testPassed("All " + numberOfTests + " grains contained the correct data.");
- } else {
- testFailed(invalidGrainDataCount + " grains out of " + numberOfTests + " did not contain the expected data.");
- success = false;
- }
-
- if (success) {
- testPassed("noteGrainOn offset rendering tests passed.");
- } else {
- testFailed("noteGrainOn offset rendering tests failed.");
- }
-
- 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;
-
- </script>
-
- <script src="../resources/js-test-post.js"></script>
- </body>
-</html>
</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 "PASS" messages, followed by "TEST COMPLETE".
-
-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>-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <script src="resources/audio-testing.js"></script>
- <script src="resources/note-grain-on-testing.js"></script>
- <script src="../resources/js-test-pre.js"></script>
- </head>
-
- <body>
- <div id="description"></div>
- <div id="console"></div>
-
- <script>
- description("Test timing of noteGrainOn.");
-
- 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 && verifyStartAndEndFrames(startEndFrames);
-
- if (success) {
- testPassed("noteGrainOn timing tests passed.");
- } else {
- testFailed("noteGrainOn timing tests failed.");
- }
-
- 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;
-
- </script>
-
- <script src="../resources/js-test-post.js"></script>
- </body>
-</html>
</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: "sine", integerType: 0, name: "SINE"},
- {type: "square", integerType: 1, name: "SQUARE"},
- {type: "sawtooth", integerType: 2, name: "SAWTOOTH"},
- {type: "triangle", integerType: 3, name: "TRIANGLE"},
- {type: "custom", integerType: 4, name: "CUSTOM"}];
</del><ins>+var oscTypes = [{type: "sine", name: "SINE"},
+ {type: "square", name: "SQUARE"},
+ {type: "sawtooth", name: "SAWTOOTH"},
+ {type: "triangle", name: "TRIANGLE"},
+ {type: "custom", name: "CUSTOM"}];
</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 < 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("Oscillator set to " + oscTypes[k].name + " type, but returns " + oscTypes[osc.type].name + " type.");
</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 < oscTypes.length - 1; ++k) {
- osc.type = oscTypes[k].integerType;
- if (osc.type == oscTypes[k].type)
- testPassed("Oscillator correctly set to " + oscTypes[k].name + " type using legacy integer value.");
- else
- testFailed("Oscillator set to " + oscTypes[k].name + " type, but returns " + oscTypes[osc.type].name + " type using legacy integer value.");
- }
-
</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 = "sine";
</ins><span class="cx"> osc.type = "custom";
</span><del>- testFailed("Directly setting oscillator type to CUSTOM did not throw exception.");
</del><ins>+ testFailed("Directly setting oscillator type to custom did not throw exception.");
</ins><span class="cx"> } catch (e) {
</span><del>- testPassed("Directly setting oscillator type to CUSTOM correctly throws exception.");
</del><ins>+ testPassed("Directly setting oscillator type to custom correctly throws exception.");
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- var oscType = osc.CUSTOM + 1;
- try {
- osc.type = oscType;
- testFailed("Setting oscillator to invalid type " + oscType + " did not throw exception.");
- } catch (e) {
- testPassed("Setting oscillator to invalid type " + oscType + " correctly throws exception.");
- }
</del><ins>+ // Check that we don't throw an exception for illegal .type values as per WebIDL.
+ shouldNotThrowException(function() { osc.type = "xyz12349jfksd"; }, "Setting .type to illegal string value");
+ shouldNotThrowException(function() { osc.type = new Float32Array(1); }, "Setting .type to illegal type");
</ins><span class="cx">
</span><del>- // Check specifically that we throw a TypeError.
- shouldThrowTypeError(function() { osc.type = "xyz12349jfksd"; }, "Setting .type to illegal string value");
- shouldThrowTypeError(function() { osc.type = new Float32Array(1); }, "Setting .type to illegal type of Float32Array");
-
</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("custom");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> </script>
</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("sawtooth");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> </script>
</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("sine");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> </script>
</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"> <!DOCTYPE html>
</span><span class="cx">
</span><span class="cx"> <!--
</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"> -->
</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("square");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> </script>
</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("triangle");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> </script>
</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("PannerNode should default to 'inverse' distanceModel.");
</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: "equalpower", integerValue: panner.EQUALPOWER},
- {value: "HRTF", integerValue: panner.HRTF},
- // FIXME: enable "soundfield" once feature is implemented: https://bugs.webkit.org/show_bug.cgi?id=77367
- // {value: "soundfield", integerValue: panner.SOUNDFIELD}
</del><ins>+ var panningModels = [{value: "equalpower"},
+ {value: "HRTF"},
</ins><span class="cx"> ];
</span><span class="cx">
</span><span class="cx"> for (var i = 0; i < 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 < panningModels.length; ++i) {
- try {
- panner.panningModel = panningModels[i].integerValue;
- if (panner.panningModel === panningModels[i].value && panningModels[i].integerValue === i) {
- var message = "panningModel: " + panningModels[i].integerValue + " is settable using legacy integer value.";
- testPassed(message);
- } else {
- var message = "panningModel: " + panningModels[i].integerValue + " was not correctly set using legacy integer value.";
- testFailed(message);
- }
- } catch(e) {
- var message = "Setting panningModel to " + panningModels[i].integerValue + " should not throw exception using legacy integer value.";
- testFailed(message);
- }
- }
-
</del><span class="cx"> // Check that the .distanceModel attribute can be set to all legal values.
</span><del>- var distanceModels = [{value: "linear", integerValue: panner.LINEAR_DISTANCE},
- {value: "inverse", integerValue: panner.INVERSE_DISTANCE},
- {value: "exponential", integerValue: panner.EXPONENTIAL_DISTANCE}
- ];
</del><ins>+ var distanceModels = [{value: "linear"},
+ {value: "inverse"},
+ {value: "exponential"}];
</ins><span class="cx">
</span><span class="cx"> for (var i = 0; i < 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 < distanceModels.length; ++i) {
- try {
- panner.distanceModel = distanceModels[i].integerValue;
- if (panner.distanceModel === distanceModels[i].value && distanceModels[i].integerValue === i) {
- var message = "distanceModel: " + distanceModels[i].integerValue + " is settable using legacy integer value.";
- testPassed(message);
- } else {
- var message = "distanceModel: " + distanceModels[i].integerValue + " was not correctly set using legacy integer value.";
- testFailed(message);
- }
- } catch(e) {
- var message = "Setting distanceModel to " + distanceModels[i].integerValue + " should not throw exception using legacy integer value.";
- testFailed(message);
- }
- }
</del><ins>+ // Check that we don't throw an exception for illegal .distanceModel values as per WebIDL.
+ shouldNotThrowException(function() { panner.distanceModel = "xyz12349jfksd"; }, "Setting .distanceModel to illegal string value");
+ shouldNotThrowException(function() { panner.distanceModel = new Float32Array(1); }, "Setting .distanceModel to illegal type");
</ins><span class="cx">
</span><del>- // Check that we throw a TypeError for illegal .distanceModel values.
- shouldThrowTypeError(function() { panner.distanceModel = "xyz12349jfksd"; }, "Setting .type to illegal string value");
- shouldThrowTypeError(function() { panner.distanceModel = new Float32Array(1); }, "Setting .type to illegal type of Float32Array");
-
</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) && (x != Infinity) && (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 + " did not throw an exception.");
+ } else {
+ testFailed(text + " did throw an exception.");
+ }
+}
+
</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 = {"lowpass": createLowpassFilter,
+ "highpass": createHighpassFilter,
+ "bandpass": createBandpassFilter,
+ "lowshelf": createLowShelfFilter,
+ "highshelf": createHighShelfFilter,
+ "peaking": createPeakingFilter,
+ "notch": createNotchFilter,
+ "allpass": createAllpassFilter};
</ins><span class="cx">
</span><del>-var filterTypeName = ["Lowpass filter",
- "Highpass filter",
- "Bandpass filter",
- "Lowshelf filter",
- "Highshelf filter",
- "Peaking filter",
- "Notch filter",
- "Allpass filter"];
</del><ins>+var filterTypeName = {"lowpass": "Lowpass filter",
+ "highpass": "Highpass filter",
+ "bandpass": "Bandpass filter",
+ "lowshelf": "Lowshelf filter",
+ "highshelf": "Highshelf filter",
+ "peaking": "Peaking filter",
+ "notch": "Notch filter",
+ "allpass": "Allpass filter"};
</ins><span class="cx">
</span><del>-var filterTypeIndex = {"lowpass": 0,
- "highpass": 1,
- "bandpass": 2,
- "lowshelf": 3,
- "highshelf": 4,
- "peaking": 5,
- "notch": 6,
- "allpass": 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("Distance model value matched expected value.");
- } else {
- testFailed("Distance model value does not match expected value.");
- success = false;
- }
-
</del><span class="cx"> if (impulseCount == nodesToCreate) {
</span><span class="cx"> testPassed("Number of impulses found matches number of panner nodes.");
</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 == "custom") {
</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 <sam@webkit.org>
+
+ 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 <benjamin@webkit.org>
</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 <sam@webkit.org>
+
+ 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 <johan_jensen@apple.com>
</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& ec)
-{
- // Handle unspecified duration where 0 means the rest of the buffer.
- if (!grainDuration)
- grainDuration = buffer()->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<double> grainDuration, ExceptionCode&);
</span><span class="cx">
</span><del>-#if ENABLE(LEGACY_WEB_AUDIO)
- void noteGrainOn(double when, double grainOffset, double grainDuration, ExceptionCode&);
-#endif
-
</del><span class="cx"> // Note: the attribute was originally exposed as .looping, but to be more consistent in naming with <audio>
</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& ec)
-{
- start(when, ec);
-}
-
-void AudioScheduledSourceNode::noteOff(double when, ExceptionCode& 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&);
</span><span class="cx"> void stop(double when, ExceptionCode&);
</span><span class="cx">
</span><del>-#if ENABLE(LEGACY_WEB_AUDIO)
- void noteOn(double when, ExceptionCode&);
- void noteOff(double when, ExceptionCode&);
-#endif
-
</del><span class="cx"> unsigned short playbackState() const { return static_cast<unsigned short>(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()->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<BiquadFilterNode*>(this)->biquadProcessor()->type()) {
- case BiquadProcessor::LowPass:
- return "lowpass";
- case BiquadProcessor::HighPass:
- return "highpass";
- case BiquadProcessor::BandPass:
- return "bandpass";
- case BiquadProcessor::LowShelf:
- return "lowshelf";
- case BiquadProcessor::HighShelf:
- return "highshelf";
- case BiquadProcessor::Peaking:
- return "peaking";
- case BiquadProcessor::Notch:
- return "notch";
- case BiquadProcessor::Allpass:
- return "allpass";
- default:
- ASSERT_NOT_REACHED();
- return "lowpass";
- }
</del><ins>+ return const_cast<BiquadFilterNode*>(this)->biquadProcessor()->type();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void BiquadFilterNode::setType(const String& type)
</del><ins>+void BiquadFilterNode::setType(BiquadFilterType type)
</ins><span class="cx"> {
</span><del>- if (type == "lowpass")
- setType(BiquadProcessor::LowPass);
- else if (type == "highpass")
- setType(BiquadProcessor::HighPass);
- else if (type == "bandpass")
- setType(BiquadProcessor::BandPass);
- else if (type == "lowshelf")
- setType(BiquadProcessor::LowShelf);
- else if (type == "highshelf")
- setType(BiquadProcessor::HighShelf);
- else if (type == "peaking")
- setType(BiquadProcessor::Peaking);
- else if (type == "notch")
- setType(BiquadProcessor::Notch);
- else if (type == "allpass")
- setType(BiquadProcessor::Allpass);
- else
- ASSERT_NOT_REACHED();
</del><ins>+ biquadProcessor()->setType(type);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool BiquadFilterNode::setType(unsigned type)
-{
- if (type > BiquadProcessor::Allpass)
- return false;
-
- biquadProcessor()->setType(static_cast<BiquadProcessor::FilterType>(type));
- return true;
-}
-
</del><span class="cx"> void BiquadFilterNode::getFrequencyResponse(const RefPtr<Float32Array>& frequencyHz, const RefPtr<Float32Array>& magResponse, const RefPtr<Float32Array>& 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->length(),
- std::min(magResponse->length(), phaseResponse->length()));
</del><ins>+ int n = std::min(frequencyHz->length(), std::min(magResponse->length(), phaseResponse->length()));
</ins><span class="cx">
</span><del>- if (n) {
- biquadProcessor()->getFrequencyResponse(n,
- frequencyHz->data(),
- magResponse->data(),
- phaseResponse->data());
- }
</del><ins>+ if (n)
+ biquadProcessor()->getFrequencyResponse(n, frequencyHz->data(), magResponse->data(), phaseResponse->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<BiquadFilterNode> create(AudioContext& 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&);
</del><ins>+ BiquadFilterType type() const;
+ void setType(BiquadFilterType);
</ins><span class="cx">
</span><span class="cx"> AudioParam* frequency() { return biquadProcessor()->parameter1(); }
</span><span class="cx"> AudioParam* q() { return biquadProcessor()->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 {
+ "lowpass",
+ "highpass",
+ "bandpass",
+ "lowshelf",
+ "highshelf",
+ "peaking",
+ "notch",
+ "allpass"
+};
+
+[
</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& 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]->process(source->channel(i)->data(), destination->channel(i)->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&, 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<AudioParam> m_parameter1;
</span><span class="cx"> RefPtr<AudioParam> 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 "AudioNodeOutput.h"
</span><span class="cx"> #include "AudioUtilities.h"
</span><span class="cx"> #include "ExceptionCode.h"
</span><ins>+#include "ExceptionCodePlaceholder.h"
</ins><span class="cx"> #include "PeriodicWave.h"
</span><span class="cx"> #include "VectorMath.h"
</span><span class="cx"> #include <algorithm>
</span><span class="lines">@@ -53,7 +54,6 @@
</span><span class="cx">
</span><span class="cx"> OscillatorNode::OscillatorNode(AudioContext& 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, "detune", 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<AudioNodeOutput>(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& ec)
</ins><span class="cx"> {
</span><del>- switch (m_type) {
- case SINE:
- return "sine";
- case SQUARE:
- return "square";
- case SAWTOOTH:
- return "sawtooth";
- case TRIANGLE:
- return "triangle";
- case CUSTOM:
- return "custom";
- default:
- ASSERT_NOT_REACHED();
- return "custom";
- }
-}
-
-void OscillatorNode::setType(const String& type)
-{
- if (type == "sine")
- setType(SINE);
- else if (type == "square")
- setType(SQUARE);
- else if (type == "sawtooth")
- setType(SAWTOOTH);
- else if (type == "triangle")
- 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->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 = &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 = &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 = &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 = &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<Lock> 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<OscillatorNode> create(AudioContext&, 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&);
</ins><span class="cx">
</span><del>- bool setType(unsigned); // Returns true on success.
- void setType(const String&);
-
</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<AudioParam> 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 {
+ "sine",
+ "square",
+ "sawtooth",
+ "triangle",
+ "custom"
+};
+
</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& 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 "HRTF".
</span><del>- if (panningModel() == "HRTF" && !m_hrtfDatabaseLoader->isLoaded()) {
</del><ins>+ if (panningModel() == PanningModelType::HRTF && !m_hrtfDatabaseLoader->isLoaded()) {
</ins><span class="cx"> if (context().isOfflineContext())
</span><span class="cx"> m_hrtfDatabaseLoader->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 "equalpower";
- case HRTF:
- return "HRTF";
- case SOUNDFIELD:
- return "soundfield";
- default:
- ASSERT_NOT_REACHED();
- return "HRTF";
- }
-}
</del><ins>+ if (!m_panner.get() || model != m_panningModel) {
+ // This synchronizes with process().
+ std::lock_guard<Lock> lock(m_pannerMutex);
</ins><span class="cx">
</span><del>-void PannerNode::setPanningModel(const String& model)
-{
- if (model == "equalpower")
- setPanningModel(EQUALPOWER);
- else if (model == "HRTF")
- setPanningModel(HRTF);
- else if (model == "soundfield")
- 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<Lock> 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()->addConsoleMessage(MessageSource::JS, MessageLevel::Warning, ASCIILiteral("'soundfield' panning model not implemented."));
- 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<PannerNode*>(this)->m_distanceEffect.model()) {
- case DistanceEffect::ModelLinear:
- return "linear";
- case DistanceEffect::ModelInverse:
- return "inverse";
- case DistanceEffect::ModelExponential:
- return "exponential";
- default:
- ASSERT_NOT_REACHED();
- return "inverse";
- }
</del><ins>+ return const_cast<PannerNode*>(this)->m_distanceEffect.model();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void PannerNode::setDistanceModel(const String& model)
</del><ins>+void PannerNode::setDistanceModel(DistanceModelType model)
</ins><span class="cx"> {
</span><del>- if (model == "linear")
- setDistanceModel(DistanceEffect::ModelLinear);
- else if (model == "inverse")
- setDistanceModel(DistanceEffect::ModelInverse);
- else if (model == "exponential")
- 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<DistanceEffect::ModelType>(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<PannerNode> create(AudioContext& 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&);
</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&);
</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<AudioNode*>& visitedNodes);
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<Panner> 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 {
+ "equalpower",
+ "HRTF"
+};
+
+[
+ ImplementedAs=DistanceModelType
+] enum DistanceModelType {
+ "linear",
+ "inverse",
+ "exponential"
+};
+
+[
</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 "PeriodicWave.h"
</span><span class="cx">
</span><span class="cx"> #include "FFTFrame.h"
</span><del>-#include "OscillatorNode.h"
</del><span class="cx"> #include "VectorMath.h"
</span><span class="cx"> #include <algorithm>
</span><span class="cx">
</span><span class="lines">@@ -57,7 +56,7 @@
</span><span class="cx"> Ref<PeriodicWave> PeriodicWave::createSine(float sampleRate)
</span><span class="cx"> {
</span><span class="cx"> Ref<PeriodicWave> waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>- waveTable->generateBasicWaveform(OscillatorNode::SINE);
</del><ins>+ waveTable->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<PeriodicWave> PeriodicWave::createSquare(float sampleRate)
</span><span class="cx"> {
</span><span class="cx"> Ref<PeriodicWave> waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>- waveTable->generateBasicWaveform(OscillatorNode::SQUARE);
</del><ins>+ waveTable->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<PeriodicWave> PeriodicWave::createSawtooth(float sampleRate)
</span><span class="cx"> {
</span><span class="cx"> Ref<PeriodicWave> waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>- waveTable->generateBasicWaveform(OscillatorNode::SAWTOOTH);
</del><ins>+ waveTable->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<PeriodicWave> PeriodicWave::createTriangle(float sampleRate)
</span><span class="cx"> {
</span><span class="cx"> Ref<PeriodicWave> waveTable = adoptRef(*new PeriodicWave(sampleRate));
</span><del>- waveTable->generateBasicWaveform(OscillatorNode::TRIANGLE);
</del><ins>+ waveTable->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 & 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 = "<group>"; };
</span><span class="cx">                 FD82D7F513D4C8BD004E4372 /* JSWaveShaperNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWaveShaperNode.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 FD82D7F613D4C8BD004E4372 /* JSWaveShaperNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWaveShaperNode.h; sourceTree = "<group>"; };
</span><del>-                FD8AA63B1695148E00D2EA68 /* JSBiquadFilterNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSBiquadFilterNodeCustom.cpp; sourceTree = "<group>"; };
-                FD8AA63D169514A700D2EA68 /* JSPannerNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPannerNodeCustom.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 FD8C46E9154608E700A5910C /* AudioScheduledSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioScheduledSourceNode.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 FD8C46EA154608E700A5910C /* AudioScheduledSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioScheduledSourceNode.h; sourceTree = "<group>"; };
</span><span class="cx">                 FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAudioBuffer.cpp; sourceTree = "<group>"; };
</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 = "<group>"; };
</span><span class="cx">                 FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiChannelResampler.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiChannelResampler.h; sourceTree = "<group>"; };
</span><del>-                FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOscillatorNodeCustom.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamAudioSourceNode.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 FDBD480B159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStreamAudioSourceNode.h; sourceTree = "<group>"; };
</span><span class="cx">                 FDC54F011399B0DA008D9117 /* BiquadFilterNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BiquadFilterNode.cpp; sourceTree = "<group>"; };
</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(&exec, createSyntaxError(&exec, "audio resources unavailable for AudioContext construction"));
</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("Deprecated AudioContext constructor: use OfflineAudioContext instead"));
</del><ins>+ } else
+ return throwVMError(&exec, createSyntaxError(&exec, "Illegal AudioContext constructor"));
</ins><span class="cx">
</span><del>- if (exec.argumentCount() < 3)
- return throwVMError(&exec, createNotEnoughArgumentsError(&exec));
-
- int32_t numberOfChannels = exec.uncheckedArgument(0).toInt32(&exec);
- int32_t numberOfFrames = exec.uncheckedArgument(1).toInt32(&exec);
- float sampleRate = exec.uncheckedArgument(2).toFloat(&exec);
-
- if (numberOfChannels <= 0 || numberOfChannels > 10)
- return throwVMError(&exec, createSyntaxError(&exec, "Invalid number of channels"));
-
- if (numberOfFrames <= 0)
- return throwVMError(&exec, createSyntaxError(&exec, "Invalid number of frames"));
-
- if (sampleRate <= 0)
- return throwVMError(&exec, createSyntaxError(&exec, "Invalid sample rate"));
-
-
- ExceptionCode ec = 0;
- audioContext = OfflineAudioContext::create(document, numberOfChannels, numberOfFrames, sampleRate, ec);
- if (ec) {
- setDOMException(&exec, ec);
- return throwVMError(&exec, createSyntaxError(&exec, "Error creating OfflineAudioContext"));
- }
-#else
- return throwVMError(&exec, createSyntaxError(&exec, "Illegal AudioContext constructor"));
-#endif
- if (!audioContext)
- return throwVMError(&exec, createReferenceError(&exec, "Error creating AudioContext"));
- }
</del><span class="cx"> return JSValue::encode(CREATE_DOM_WRAPPER(jsConstructor->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 "config.h"
-
-#if ENABLE(WEB_AUDIO)
-
-#include "JSBiquadFilterNode.h"
-
-#include "BiquadFilterNode.h"
-#include "ExceptionCode.h"
-#include <runtime/Error.h>
-#include <runtime/JSCJSValueInlines.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSBiquadFilterNode::setType(ExecState& state, JSValue value)
-{
-#if ENABLE(LEGACY_WEB_AUDIO)
- if (value.isNumber()) {
- uint32_t type = value.toUInt32(&state);
- if (!wrapped().setType(type))
- throwTypeError(&state, "Illegal BiquadFilterNode type");
- return;
- }
-#endif
-
- if (value.isString()) {
- String type = value.toString(&state)->value(&state);
- if (type == "lowpass" || type == "highpass" || type == "bandpass" || type == "lowshelf" || type == "highshelf" || type == "peaking" || type == "notch" || type == "allpass") {
- wrapped().setType(type);
- return;
- }
- }
-
- throwTypeError(&state, "Illegal BiquadFilterNode type");
-}
-
-} // 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 "config.h"
-
-#if ENABLE(WEB_AUDIO)
-
-#include "JSOscillatorNode.h"
-
-#include "ExceptionCode.h"
-#include "OscillatorNode.h"
-#include <runtime/Error.h>
-#include <runtime/JSCJSValueInlines.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSOscillatorNode::setType(ExecState& state, JSValue value)
-{
- OscillatorNode& imp = wrapped();
-
-#if ENABLE(LEGACY_WEB_AUDIO)
- if (value.isNumber()) {
- uint32_t type = value.toUInt32(&state);
- if (!imp.setType(type))
- throwTypeError(&state, ASCIILiteral("Illegal OscillatorNode type"));
- return;
- }
-#endif
-
- if (value.isString()) {
- String type = value.toString(&state)->value(&state);
- if (type == "sine" || type == "square" || type == "sawtooth" || type == "triangle") {
- imp.setType(type);
- return;
- }
- }
-
- throwTypeError(&state, ASCIILiteral("Illegal OscillatorNode type"));
-}
-
-} // 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 "config.h"
-
-#if ENABLE(WEB_AUDIO)
-
-#include "JSPannerNode.h"
-
-#include "ExceptionCode.h"
-#include "PannerNode.h"
-#include <runtime/Error.h>
-#include <runtime/JSCJSValueInlines.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-void JSPannerNode::setPanningModel(ExecState& state, JSValue value)
-{
- PannerNode& imp = wrapped();
-
-#if ENABLE(LEGACY_WEB_AUDIO)
- if (value.isNumber()) {
- uint32_t model = value.toUInt32(&state);
- if (!imp.setPanningModel(model))
- throwTypeError(&state, ASCIILiteral("Illegal panningModel"));
- return;
- }
-#endif
-
- if (value.isString()) {
- String model = value.toString(&state)->value(&state);
- if (model == "equalpower" || model == "HRTF" || model == "soundfield") {
- imp.setPanningModel(model);
- return;
- }
- }
-
- throwTypeError(&state, ASCIILiteral("Illegal panningModel"));
-}
-
-void JSPannerNode::setDistanceModel(ExecState& state, JSValue value)
-{
- PannerNode& imp = wrapped();
-
-#if ENABLE(LEGACY_WEB_AUDIO)
- if (value.isNumber()) {
- uint32_t model = value.toUInt32(&state);
- if (!imp.setDistanceModel(model))
- throwTypeError(&state, ASCIILiteral("Illegal distanceModel"));
- return;
- }
-#endif
-
- if (value.isString()) {
- String model = value.toString(&state)->value(&state);
- if (model == "linear" || model == "inverse" || model == "exponential") {
- imp.setDistanceModel(model);
- return;
- }
- }
-
- throwTypeError(&state, ASCIILiteral("Illegal distanceModel"));
-}
-
-} // 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<Panner> Panner::create(PanningModel model, float sampleRate, HRTFDatabaseLoader* databaseLoader)
</del><ins>+std::unique_ptr<Panner> Panner::create(PanningModelType model, float sampleRate, HRTFDatabaseLoader* databaseLoader)
</ins><span class="cx"> {
</span><span class="cx"> std::unique_ptr<Panner> 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<EqualPowerPanner>(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<HRTFPanner>(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<Panner> create(PanningModelType, float sampleRate, HRTFDatabaseLoader*);
</ins><span class="cx">
</span><del>- static std::unique_ptr<Panner> 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 <sam@webkit.org>
+
+ 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 <andersca@apple.com>
</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 <sam@webkit.org>
+
+ 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 <andersca@apple.com>
</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 "Toggle legacy css vendor prefix support" PRIVATE OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_NOTIFICATIONS "Toggle Legacy Desktop Notifications Support" PRIVATE OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_VENDOR_PREFIXES "Toggle Legacy Vendor Prefix Support" PRIVATE ON)
</span><del>- WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_WEB_AUDIO "Toggle Legacy Web Audio support" PRIVATE ON)
</del><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_LETTERPRESS "Toggle letterpress support" PRIVATE OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH "Toggle pre fetching support" PRIVATE OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_MAC_LONG_PRESS "Toggle mac long press support" 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 <sam@webkit.org>
+
+ 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 <jer.noble@apple.com>
</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>