Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Unified Diff: Source/platform/mediastream/MediaStreamDescriptor.h

Issue 552653005: Oilpan: Move MediaStreamSource, MediaStreamComponent and MediaStreamDescriptor to oilpan's heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/platform/mediastream/MediaStreamDescriptor.h
diff --git a/Source/platform/mediastream/MediaStreamDescriptor.h b/Source/platform/mediastream/MediaStreamDescriptor.h
index 6e0b1b011a2eae38a6cb6b14dd5c8473a7248efd..ca3048625c8ac65065053466e9732ebe15e95b07 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,22 @@ public:
ExtraData* extraData() const { return m_extraData.get(); }
void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData; }
+ void trace(Visitor*);
+ void dispose();
+
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

Powered by Google App Engine
This is Rietveld 408576698