Index: third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
diff --git a/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp b/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
index 2da75e51ed9b84a5ad0849d0e796c26d4a9ed71c..f03a996183f450ece8d3b3a900a4892afde9c4bf 100644 |
--- a/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
+++ b/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
@@ -34,9 +34,9 @@ |
namespace blink { |
-MediaStreamSource* MediaStreamSource::create(const String& id, Type type, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresConsumer) |
+PassRefPtr<MediaStreamSource> MediaStreamSource::create(const String& id, Type type, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresConsumer) |
{ |
- return new MediaStreamSource(id, type, name, remote, readonly, readyState, requiresConsumer); |
+ return adoptRef(new MediaStreamSource(id, type, name, remote, readonly, readyState, requiresConsumer)); |
} |
MediaStreamSource::MediaStreamSource(const String& id, Type type, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresConsumer) |
@@ -54,14 +54,21 @@ |
{ |
if (m_readyState != ReadyStateEnded && m_readyState != readyState) { |
m_readyState = readyState; |
- for (auto i = m_observers.begin(); i != m_observers.end(); ++i) |
+ for (Vector<Observer*>::iterator i = m_observers.begin(); i != m_observers.end(); ++i) |
(*i)->sourceChangedState(); |
} |
} |
void MediaStreamSource::addObserver(MediaStreamSource::Observer* observer) |
{ |
- m_observers.add(observer); |
+ m_observers.append(observer); |
+} |
+ |
+void MediaStreamSource::removeObserver(MediaStreamSource::Observer* observer) |
+{ |
+ size_t pos = m_observers.find(observer); |
+ if (pos != kNotFound) |
+ m_observers.remove(pos); |
} |
void MediaStreamSource::addAudioConsumer(AudioDestinationConsumer* consumer) |
@@ -98,10 +105,4 @@ |
(*it)->consumeAudio(bus, numberOfFrames); |
} |
-DEFINE_TRACE(MediaStreamSource) |
-{ |
- visitor->trace(m_observers); |
- visitor->trace(m_audioConsumers); |
-} |
- |
} // namespace blink |