| 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)))); | 
| } | 
|  | 
|  |