| Index: content/renderer/media/media_stream_video_source.cc
 | 
| diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc
 | 
| index b2e550c221de1c69b55c5ac69e0779ef433807d7..4878d6610ab5752af2586aa20e4f5790616d9b5f 100644
 | 
| --- a/content/renderer/media/media_stream_video_source.cc
 | 
| +++ b/content/renderer/media/media_stream_video_source.cc
 | 
| @@ -393,9 +393,24 @@ void MediaStreamVideoSource::RemoveTrack(MediaStreamVideoTrack* video_track) {
 | 
|      StopSource();
 | 
|  }
 | 
|  
 | 
| +void MediaStreamVideoSource::UpdateHasConsumers(MediaStreamVideoTrack* track,
 | 
| +                                                bool has_consumers) {
 | 
| +  DCHECK(CalledOnValidThread());
 | 
| +  const auto it =
 | 
| +      std::find(suspended_tracks_.begin(), suspended_tracks_.end(), track);
 | 
| +  if (has_consumers) {
 | 
| +    if (it != suspended_tracks_.end())
 | 
| +      suspended_tracks_.erase(it);
 | 
| +  } else {
 | 
| +    if (it == suspended_tracks_.end())
 | 
| +      suspended_tracks_.push_back(track);
 | 
| +  }
 | 
| +  SetHasConsumers(suspended_tracks_.size() < tracks_.size());
 | 
| +}
 | 
| +
 | 
|  void MediaStreamVideoSource::UpdateCapturingLinkSecure(
 | 
| -    MediaStreamVideoTrack* track,
 | 
| -    bool is_secure) {
 | 
| +    MediaStreamVideoTrack* track, bool is_secure) {
 | 
| +  DCHECK(CalledOnValidThread());
 | 
|    secure_tracker_.Update(track, is_secure);
 | 
|    SetCapturingLinkSecured(secure_tracker_.is_capturing_secure());
 | 
|  }
 | 
| 
 |