| Index: third_party/WebKit/Source/platform/mediastream/MediaStreamDescriptor.h
|
| diff --git a/third_party/WebKit/Source/platform/mediastream/MediaStreamDescriptor.h b/third_party/WebKit/Source/platform/mediastream/MediaStreamDescriptor.h
|
| index 6cb9a0c1cb441641a5a905f8001cdad2bfff509f..8665abf41ce7c614230aa18fc43d41b549f06683 100644
|
| --- a/third_party/WebKit/Source/platform/mediastream/MediaStreamDescriptor.h
|
| +++ b/third_party/WebKit/Source/platform/mediastream/MediaStreamDescriptor.h
|
| @@ -40,17 +40,16 @@
|
|
|
| namespace blink {
|
|
|
| -class PLATFORM_EXPORT MediaStreamDescriptorClient : public GarbageCollectedMixin {
|
| +class PLATFORM_EXPORT MediaStreamDescriptorClient {
|
| public:
|
| virtual ~MediaStreamDescriptorClient() { }
|
|
|
| virtual void streamEnded() = 0;
|
| virtual void addRemoteTrack(MediaStreamComponent*) = 0;
|
| virtual void removeRemoteTrack(MediaStreamComponent*) = 0;
|
| - DEFINE_INLINE_VIRTUAL_TRACE() { }
|
| };
|
|
|
| -class PLATFORM_EXPORT MediaStreamDescriptor final : public GarbageCollectedFinalized<MediaStreamDescriptor> {
|
| +class PLATFORM_EXPORT MediaStreamDescriptor final : public RefCounted<MediaStreamDescriptor> {
|
| public:
|
| class ExtraData {
|
| public:
|
| @@ -58,11 +57,11 @@
|
| };
|
|
|
| // Only used for AudioDestinationNode.
|
| - static MediaStreamDescriptor* create(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources);
|
| + static PassRefPtr<MediaStreamDescriptor> create(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources);
|
|
|
| - static MediaStreamDescriptor* create(const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents);
|
| + static PassRefPtr<MediaStreamDescriptor> create(const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents);
|
|
|
| - static MediaStreamDescriptor* create(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents);
|
| + static PassRefPtr<MediaStreamDescriptor> create(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents);
|
|
|
| MediaStreamDescriptorClient* client() const { return m_client; }
|
| void setClient(MediaStreamDescriptorClient* client) { m_client = client; }
|
| @@ -75,8 +74,8 @@
|
| unsigned numberOfVideoComponents() const { return m_videoComponents.size(); }
|
| MediaStreamComponent* videoComponent(unsigned index) const { return m_videoComponents[index].get(); }
|
|
|
| - void addComponent(MediaStreamComponent*);
|
| - void removeComponent(MediaStreamComponent*);
|
| + void addComponent(PassRefPtr<MediaStreamComponent>);
|
| + void removeComponent(PassRefPtr<MediaStreamComponent>);
|
|
|
| void addRemoteTrack(MediaStreamComponent*);
|
| void removeRemoteTrack(MediaStreamComponent*);
|
| @@ -90,26 +89,21 @@
|
| ExtraData* extraData() const { return m_extraData.get(); }
|
| void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData; }
|
|
|
| - // |m_extraData| may hold pointers to GC objects, and it may touch them in destruction.
|
| - // So this class is eagerly finalized to finalize |m_extraData| promptly.
|
| - EAGERLY_FINALIZE();
|
| - DECLARE_TRACE();
|
| -
|
| private:
|
| MediaStreamDescriptor(const String& id, const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources);
|
| MediaStreamDescriptor(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents);
|
|
|
| - Member<MediaStreamDescriptorClient> m_client;
|
| + MediaStreamDescriptorClient* m_client;
|
| String m_id;
|
| - HeapVector<Member<MediaStreamComponent>> m_audioComponents;
|
| - HeapVector<Member<MediaStreamComponent>> m_videoComponents;
|
| + Vector<RefPtr<MediaStreamComponent>> m_audioComponents;
|
| + Vector<RefPtr<MediaStreamComponent>> m_videoComponents;
|
| bool m_active;
|
| bool m_ended;
|
|
|
| OwnPtr<ExtraData> m_extraData;
|
| };
|
|
|
| -typedef HeapVector<Member<MediaStreamDescriptor>> MediaStreamDescriptorVector;
|
| +typedef Vector<RefPtr<MediaStreamDescriptor>> MediaStreamDescriptorVector;
|
|
|
| } // namespace blink
|
|
|
|
|