Title: [210680] trunk/Source/WebCore
- Revision
- 210680
- Author
- jer.no...@apple.com
- Date
- 2017-01-12 14:14:44 -0800 (Thu, 12 Jan 2017)
Log Message
Use GenericEventQueue rather than callOnMainThread to schedule events in AudioScheduledSourceNode.
https://bugs.webkit.org/show_bug.cgi?id=166983
Reviewed by Brent Fulgham.
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
(WebCore::AudioScheduledSourceNode::finish):
* Modules/webaudio/AudioScheduledSourceNode.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (210679 => 210680)
--- trunk/Source/WebCore/ChangeLog 2017-01-12 21:26:48 UTC (rev 210679)
+++ trunk/Source/WebCore/ChangeLog 2017-01-12 22:14:44 UTC (rev 210680)
@@ -1,3 +1,15 @@
+2017-01-12 Jer Noble <jer.no...@apple.com>
+
+ Use GenericEventQueue rather than callOnMainThread to schedule events in AudioScheduledSourceNode.
+ https://bugs.webkit.org/show_bug.cgi?id=166983
+
+ Reviewed by Brent Fulgham.
+
+ * Modules/webaudio/AudioScheduledSourceNode.cpp:
+ (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
+ (WebCore::AudioScheduledSourceNode::finish):
+ * Modules/webaudio/AudioScheduledSourceNode.h:
+
2017-01-12 Youenn Fablet <you...@apple.com>
OneDrive application crashes upon launch
Modified: trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp (210679 => 210680)
--- trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp 2017-01-12 21:26:48 UTC (rev 210679)
+++ trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.cpp 2017-01-12 22:14:44 UTC (rev 210680)
@@ -47,6 +47,7 @@
AudioScheduledSourceNode::AudioScheduledSourceNode(AudioContext& context, float sampleRate)
: AudioNode(context, sampleRate)
, m_endTime(UnknownTime)
+ , m_eventQueue(*this)
{
}
@@ -166,11 +167,8 @@
context().decrementActiveSourceCount();
}
- if (m_hasEndedListener) {
- callOnMainThread([this] {
- dispatchEvent(Event::create(eventNames().endedEvent, false, false));
- });
- }
+ if (m_hasEndedListener)
+ m_eventQueue.enqueueEvent(Event::create(eventNames().endedEvent, false, false));
}
bool AudioScheduledSourceNode::addEventListener(const AtomicString& eventType, Ref<EventListener>&& listener, const AddEventListenerOptions& options)
Modified: trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h (210679 => 210680)
--- trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h 2017-01-12 21:26:48 UTC (rev 210679)
+++ trunk/Source/WebCore/Modules/webaudio/AudioScheduledSourceNode.h 2017-01-12 22:14:44 UTC (rev 210680)
@@ -29,6 +29,7 @@
#pragma once
#include "AudioNode.h"
+#include "GenericEventQueue.h"
namespace WebCore {
@@ -83,6 +84,7 @@
double m_endTime; // in seconds
bool m_hasEndedListener { false };
+ GenericEventQueue m_eventQueue;
static const double UnknownTime;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes