Index: third_party/WebKit/Source/platform/exported/WebMediaStreamTrack.cpp |
diff --git a/third_party/WebKit/Source/platform/exported/WebMediaStreamTrack.cpp b/third_party/WebKit/Source/platform/exported/WebMediaStreamTrack.cpp |
index 804e957f3b18047625d48246dfb8fd1f24db2c65..4f7c2fe0821c6d650736304223622ba6ef031000 100644 |
--- a/third_party/WebKit/Source/platform/exported/WebMediaStreamTrack.cpp |
+++ b/third_party/WebKit/Source/platform/exported/WebMediaStreamTrack.cpp |
@@ -49,6 +49,23 @@ |
} // namespace |
+WebMediaStreamTrack WebMediaStreamTrack::ExtraData::owner() |
+{ |
+ ASSERT(m_owner); |
+ return WebMediaStreamTrack(m_owner); |
+} |
+ |
+void WebMediaStreamTrack::ExtraData::setOwner(MediaStreamComponent* owner) |
+{ |
+ ASSERT(!m_owner); |
+ m_owner = owner; |
+} |
+ |
+WebMediaStreamTrack::WebMediaStreamTrack(PassRefPtr<MediaStreamComponent> mediaStreamComponent) |
+ : m_private(mediaStreamComponent) |
+{ |
+} |
+ |
WebMediaStreamTrack::WebMediaStreamTrack(MediaStreamComponent* mediaStreamComponent) |
: m_private(mediaStreamComponent) |
{ |
@@ -73,6 +90,11 @@ |
void WebMediaStreamTrack::reset() |
{ |
m_private.reset(); |
+} |
+ |
+WebMediaStreamTrack::operator PassRefPtr<MediaStreamComponent>() const |
+{ |
+ return m_private.get(); |
} |
WebMediaStreamTrack::operator MediaStreamComponent*() const |
@@ -116,6 +138,9 @@ |
{ |
ASSERT(!m_private.isNull()); |
+ if (extraData) |
+ extraData->setOwner(m_private.get()); |
+ |
m_private->setExtraData(adoptPtr(new ExtraDataContainer(adoptPtr(extraData)))); |
} |