| Index: third_party/WebKit/Source/modules/webaudio/AudioBufferSourceNode.cpp | 
| diff --git a/third_party/WebKit/Source/modules/webaudio/AudioBufferSourceNode.cpp b/third_party/WebKit/Source/modules/webaudio/AudioBufferSourceNode.cpp | 
| index 0dceaa90165c3a8b09ab9765a3bb3ef32369de66..421d51a2b9eb41e1dd7ba6b1e09ea4e55ffe28c9 100644 | 
| --- a/third_party/WebKit/Source/modules/webaudio/AudioBufferSourceNode.cpp | 
| +++ b/third_party/WebKit/Source/modules/webaudio/AudioBufferSourceNode.cpp | 
| @@ -79,7 +79,6 @@ PassRefPtr<AudioBufferSourceHandler> AudioBufferSourceHandler::create(AudioNode& | 
|  | 
| AudioBufferSourceHandler::~AudioBufferSourceHandler() | 
| { | 
| -    clearPannerNode(); | 
| uninitialize(); | 
| } | 
|  | 
| @@ -507,10 +506,6 @@ void AudioBufferSourceHandler::startSource(double when, double grainOffset, doub | 
|  | 
| double AudioBufferSourceHandler::computePlaybackRate() | 
| { | 
| -    double dopplerRate = 1; | 
| -    if (m_pannerNode) | 
| -        dopplerRate = m_pannerNode->dopplerRate(); | 
| - | 
| // Incorporate buffer's sample-rate versus AbstractAudioContext's sample-rate. | 
| // Normally it's not an issue because buffers are loaded at the | 
| // AbstractAudioContext's sample-rate, but we can handle it in any case. | 
| @@ -524,7 +519,7 @@ double AudioBufferSourceHandler::computePlaybackRate() | 
| // AudioSummingJunction from m_playbackRate AudioParam. | 
| double basePlaybackRate = m_playbackRate->finalValue(); | 
|  | 
| -    double finalPlaybackRate = dopplerRate * sampleRateFactor * basePlaybackRate; | 
| +    double finalPlaybackRate = sampleRateFactor * basePlaybackRate; | 
|  | 
| // Take the detune value into account for the final playback rate. | 
| finalPlaybackRate *= pow(2, m_detune->finalValue() / 1200); | 
| @@ -550,26 +545,6 @@ bool AudioBufferSourceHandler::propagatesSilence() const | 
| return !isPlayingOrScheduled() || hasFinished() || !m_buffer; | 
| } | 
|  | 
| -void AudioBufferSourceHandler::setPannerNode(PannerHandler* pannerNode) | 
| -{ | 
| -    if (m_pannerNode != pannerNode && !hasFinished()) { | 
| -        RefPtr<PannerHandler> oldPannerNode(m_pannerNode.release()); | 
| -        m_pannerNode = pannerNode; | 
| -        if (pannerNode) | 
| -            pannerNode->makeConnection(); | 
| -        if (oldPannerNode) | 
| -            oldPannerNode->breakConnection(); | 
| -    } | 
| -} | 
| - | 
| -void AudioBufferSourceHandler::clearPannerNode() | 
| -{ | 
| -    if (m_pannerNode) { | 
| -        m_pannerNode->breakConnection(); | 
| -        m_pannerNode.clear(); | 
| -    } | 
| -} | 
| - | 
| void AudioBufferSourceHandler::handleStoppableSourceNode() | 
| { | 
| // If the source node is not looping, and we have a buffer, we can determine when the source | 
| @@ -606,13 +581,6 @@ void AudioBufferSourceHandler::handleStoppableSourceNode() | 
| } | 
| } | 
|  | 
| -void AudioBufferSourceHandler::finish() | 
| -{ | 
| -    clearPannerNode(); | 
| -    ASSERT(!m_pannerNode); | 
| -    AudioScheduledSourceHandler::finish(); | 
| -} | 
| - | 
| // ---------------------------------------------------------------- | 
| AudioBufferSourceNode::AudioBufferSourceNode(AbstractAudioContext& context, float sampleRate) | 
| : AudioScheduledSourceNode(context) | 
| @@ -710,4 +678,3 @@ void AudioBufferSourceNode::start(double when, double grainOffset, double grainD | 
| } | 
|  | 
| } // namespace blink | 
| - | 
|  |