Index: Source/platform/mediastream/MediaStreamDescriptor.h |
diff --git a/Source/platform/mediastream/MediaStreamDescriptor.h b/Source/platform/mediastream/MediaStreamDescriptor.h |
index 6e0b1b011a2eae38a6cb6b14dd5c8473a7248efd..b6a4b7b4a2c040342e906ce56f7e807048ef395c 100644 |
--- a/Source/platform/mediastream/MediaStreamDescriptor.h |
+++ b/Source/platform/mediastream/MediaStreamDescriptor.h |
@@ -32,24 +32,25 @@ |
#ifndef MediaStreamDescriptor_h |
#define MediaStreamDescriptor_h |
+#include "platform/heap/Handle.h" |
#include "platform/mediastream/MediaStreamComponent.h" |
#include "platform/mediastream/MediaStreamSource.h" |
#include "wtf/PassOwnPtr.h" |
-#include "wtf/RefCounted.h" |
#include "wtf/Vector.h" |
namespace blink { |
-class MediaStreamDescriptorClient { |
+class MediaStreamDescriptorClient : public GarbageCollectedMixin { |
public: |
virtual ~MediaStreamDescriptorClient() { } |
virtual void streamEnded() = 0; |
virtual void addRemoteTrack(MediaStreamComponent*) = 0; |
virtual void removeRemoteTrack(MediaStreamComponent*) = 0; |
+ virtual void trace(Visitor*) { } |
}; |
-class PLATFORM_EXPORT MediaStreamDescriptor FINAL : public RefCounted<MediaStreamDescriptor> { |
+class PLATFORM_EXPORT MediaStreamDescriptor FINAL : public GarbageCollectedFinalized<MediaStreamDescriptor> { |
public: |
class ExtraData { |
public: |
@@ -57,11 +58,11 @@ public: |
}; |
// Only used for AudioDestinationNode. |
- static PassRefPtr<MediaStreamDescriptor> create(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources); |
+ static MediaStreamDescriptor* create(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources); |
- static PassRefPtr<MediaStreamDescriptor> create(const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents); |
+ static MediaStreamDescriptor* create(const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents); |
- static PassRefPtr<MediaStreamDescriptor> create(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents); |
+ static MediaStreamDescriptor* create(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents); |
MediaStreamDescriptorClient* client() const { return m_client; } |
void setClient(MediaStreamDescriptorClient* client) { m_client = client; } |
@@ -74,8 +75,8 @@ public: |
unsigned numberOfVideoComponents() const { return m_videoComponents.size(); } |
MediaStreamComponent* videoComponent(unsigned index) const { return m_videoComponents[index].get(); } |
- void addComponent(PassRefPtr<MediaStreamComponent>); |
- void removeComponent(PassRefPtr<MediaStreamComponent>); |
+ void addComponent(MediaStreamComponent*); |
+ void removeComponent(MediaStreamComponent*); |
void addRemoteTrack(MediaStreamComponent*); |
void removeRemoteTrack(MediaStreamComponent*); |
@@ -86,21 +87,21 @@ public: |
ExtraData* extraData() const { return m_extraData.get(); } |
void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData; } |
+ void trace(Visitor*); |
+ |
private: |
MediaStreamDescriptor(const String& id, const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources); |
MediaStreamDescriptor(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents); |
- MediaStreamDescriptorClient* m_client; |
+ Member<MediaStreamDescriptorClient> m_client; |
String m_id; |
- Vector<RefPtr<MediaStreamComponent> > m_audioComponents; |
- Vector<RefPtr<MediaStreamComponent> > m_videoComponents; |
+ MediaStreamComponentVector m_audioComponents; |
+ MediaStreamComponentVector m_videoComponents; |
bool m_ended; |
OwnPtr<ExtraData> m_extraData; |
}; |
-typedef Vector<RefPtr<MediaStreamDescriptor> > MediaStreamDescriptorVector; |
- |
} // namespace blink |
#endif // MediaStreamDescriptor_h |