Index: content/renderer/media/webrtc/media_stream_track_metrics.cc |
diff --git a/content/renderer/media/webrtc/media_stream_track_metrics.cc b/content/renderer/media/webrtc/media_stream_track_metrics.cc |
index d52860823e65797aebd21c9f50ad2463e76b8d01..bf074edfbd63e8cdbf4dc52d1d1b59375a8a203d 100644 |
--- a/content/renderer/media/webrtc/media_stream_track_metrics.cc |
+++ b/content/renderer/media/webrtc/media_stream_track_metrics.cc |
@@ -152,7 +152,8 @@ struct ObserverFinder { |
ObserverFinder(MediaStreamTrackMetrics::StreamType stream_type, |
MediaStreamInterface* stream) |
: stream_type(stream_type), stream_(stream) {} |
- bool operator()(MediaStreamTrackMetricsObserver* observer) { |
+ bool operator()( |
+ const std::unique_ptr<MediaStreamTrackMetricsObserver>& observer) { |
return stream_ == observer->stream() && |
stream_type == observer->stream_type(); |
} |
@@ -268,26 +269,24 @@ MediaStreamTrackMetrics::MediaStreamTrackMetrics() |
: ice_state_(webrtc::PeerConnectionInterface::kIceConnectionNew) {} |
MediaStreamTrackMetrics::~MediaStreamTrackMetrics() { |
- for (ObserverVector::iterator it = observers_.begin(); it != observers_.end(); |
- ++it) { |
- (*it)->SendLifetimeMessages(DISCONNECTED); |
+ for (const auto& observer : observers_) { |
+ observer->SendLifetimeMessages(DISCONNECTED); |
} |
} |
void MediaStreamTrackMetrics::AddStream(StreamType type, |
MediaStreamInterface* stream) { |
DCHECK(CalledOnValidThread()); |
- MediaStreamTrackMetricsObserver* observer = |
- new MediaStreamTrackMetricsObserver(type, stream, this); |
- observers_.insert(observers_.end(), observer); |
- SendLifeTimeMessageDependingOnIceState(observer); |
+ observers_.push_back( |
+ base::MakeUnique<MediaStreamTrackMetricsObserver>(type, stream, this)); |
+ SendLifeTimeMessageDependingOnIceState(observers_.back().get()); |
} |
void MediaStreamTrackMetrics::RemoveStream(StreamType type, |
MediaStreamInterface* stream) { |
DCHECK(CalledOnValidThread()); |
- ObserverVector::iterator it = std::find_if( |
- observers_.begin(), observers_.end(), ObserverFinder(type, stream)); |
+ auto it = std::find_if(observers_.begin(), observers_.end(), |
+ ObserverFinder(type, stream)); |
if (it == observers_.end()) { |
// Since external apps could call removeStream with a stream they |
// never added, this can happen without it being an error. |
@@ -301,9 +300,8 @@ void MediaStreamTrackMetrics::IceConnectionChange( |
PeerConnectionInterface::IceConnectionState new_state) { |
DCHECK(CalledOnValidThread()); |
ice_state_ = new_state; |
- for (ObserverVector::iterator it = observers_.begin(); it != observers_.end(); |
- ++it) { |
- SendLifeTimeMessageDependingOnIceState(*it); |
+ for (const auto& observer : observers_) { |
+ SendLifeTimeMessageDependingOnIceState(observer.get()); |
} |
} |
void MediaStreamTrackMetrics::SendLifeTimeMessageDependingOnIceState( |