Index: Source/core/platform/chromium/support/WebMediaStreamTrack.cpp |
diff --git a/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp b/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp |
index 39dabdfa8f3ce0761006e254c2b4f3de78b2c592..9ff1881c9594aaeefac9039b615c8b2c6f86e7b5 100644 |
--- a/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp |
+++ b/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp |
@@ -52,6 +52,18 @@ private: |
} // namespace |
+WebMediaStreamTrack WebMediaStreamTrack::ExtraData::owner() |
+{ |
+ ASSERT(m_owner); |
+ return WebMediaStreamTrack(m_owner); |
+} |
+ |
+void WebMediaStreamTrack::ExtraData::setOwner(WebCore::MediaStreamComponent* owner) |
+{ |
+ ASSERT(!m_owner); |
+ m_owner = owner; |
+} |
+ |
WebMediaStreamTrack::WebMediaStreamTrack(PassRefPtr<WebCore::MediaStreamComponent> mediaStreamComponent) |
: m_private(mediaStreamComponent) |
{ |
@@ -127,6 +139,11 @@ WebMediaStreamTrack::ExtraData* WebMediaStreamTrack::extraData() const |
void WebMediaStreamTrack::setExtraData(ExtraData* extraData) |
{ |
+ ASSERT(!m_private.isNull()); |
+ |
+ if (extraData) |
+ extraData->setOwner(m_private.get()); |
+ |
m_private->setExtraData(adoptRef(new ExtraDataContainer(adoptPtr(extraData)))); |
} |