Skip to content
  • jer.noble@apple.com's avatar
    Support the 'onended' EventListener property for AudioBufferSourceNode and OscillatorNode. · 95203d42
    jer.noble@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=116798
    
    Reviewed by Eric Carlson.
    
    Source/WebCore:
    
    Tests: webaudio/audiobuffersource-ended.html
           webaudio/oscillator-ended.html
    
    * Modules/webaudio/AudioScheduledSourceNode.cpp:
    (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
    (WebCore::AudioScheduledSourceNode::setOnended): Set m_hasEndedListener.
    (WebCore::AudioScheduledSourceNode::finish): Call notifyEndedDispatch on the main thread.
    (WebCore::AudioScheduledSourceNode::notifyEndedDispatch): Call notifyEnded().
    (WebCore::AudioScheduledSourceNode::notifyEnded): Call the onended event listener.
    * Modules/webaudio/AudioScheduledSourceNode.h:
    (WebCore::AudioScheduledSourceNode::onended): Added boilerplate.
    * Modules/webaudio/AudioBufferSourceNode.idl: Added the onerror attribute.
    * Modules/webaudio/OscillatorNode.idl: Ditto.
    
    LayoutTests:
    
    * webaudio/audiobuffersource-ended-expected.txt: Added.
    * webaudio/audiobuffersource-ended.html: Added.
    * webaudio/oscillator-ended-expected.txt: Added.
    * webaudio/oscillator-ended.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    95203d42