| Index: content/renderer/media/media_stream_center.cc
 | 
| diff --git a/content/renderer/media/media_stream_center.cc b/content/renderer/media/media_stream_center.cc
 | 
| index d7279c7d47046c3aaf99296949ff8cb001778a06..2334ad2a7279d4e0796cd199fbdd8985b210116c 100644
 | 
| --- a/content/renderer/media/media_stream_center.cc
 | 
| +++ b/content/renderer/media/media_stream_center.cc
 | 
| @@ -121,15 +121,8 @@ void MediaStreamCenter::didDisableMediaStreamTrack(
 | 
|  bool MediaStreamCenter::didStopMediaStreamTrack(
 | 
|      const blink::WebMediaStreamTrack& track) {
 | 
|    DVLOG(1) << "MediaStreamCenter::didStopMediaStreamTrack";
 | 
| -  blink::WebMediaStreamSource source = track.source();
 | 
| -  MediaStreamSource* extra_data =
 | 
| -      static_cast<MediaStreamSource*>(source.extraData());
 | 
| -  if (!extra_data) {
 | 
| -    DVLOG(1) << "didStopMediaStreamTrack called on a remote track.";
 | 
| -    return false;
 | 
| -  }
 | 
| -
 | 
| -  extra_data->StopSource();
 | 
| +  MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track);
 | 
| +  native_track->Stop();
 | 
|    return true;
 | 
|  }
 | 
|  
 | 
| @@ -163,22 +156,16 @@ void MediaStreamCenter::didStopLocalMediaStream(
 | 
|    }
 | 
|  
 | 
|    // TODO(perkj): MediaStream::Stop is being deprecated. But for the moment we
 | 
| -  // need to support the old behavior and the new. Since we only create one
 | 
| -  // source object per actual device- we need to fake stopping a
 | 
| -  // MediaStreamTrack by disabling it if the same device is used as source by
 | 
| -  // multiple tracks. Note that disabling a track here, don't affect the
 | 
| -  // enabled property in JS.
 | 
| +  // need to support both MediaStream::Stop and MediaStreamTrack::Stop.
 | 
|    blink::WebVector<blink::WebMediaStreamTrack> audio_tracks;
 | 
|    stream.audioTracks(audio_tracks);
 | 
|    for (size_t i = 0; i < audio_tracks.size(); ++i)
 | 
| -    didDisableMediaStreamTrack(audio_tracks[i]);
 | 
| +    didStopMediaStreamTrack(audio_tracks[i]);
 | 
|  
 | 
|    blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
 | 
|    stream.videoTracks(video_tracks);
 | 
|    for (size_t i = 0; i < video_tracks.size(); ++i)
 | 
| -    didDisableMediaStreamTrack(video_tracks[i]);
 | 
| -
 | 
| -  native_stream->OnStreamStopped();
 | 
| +    didStopMediaStreamTrack(video_tracks[i]);
 | 
|  }
 | 
|  
 | 
|  void MediaStreamCenter::didCreateMediaStream(blink::WebMediaStream& stream) {
 | 
| @@ -186,7 +173,6 @@ void MediaStreamCenter::didCreateMediaStream(blink::WebMediaStream& stream) {
 | 
|    blink::WebMediaStream writable_stream(stream);
 | 
|    MediaStream* native_stream(
 | 
|        new MediaStream(rtc_factory_,
 | 
| -                      MediaStream::StreamStopCallback(),
 | 
|                        stream));
 | 
|    writable_stream.setExtraData(native_stream);
 | 
|  
 | 
| 
 |