Index: net/nqe/network_quality_store.cc |
diff --git a/net/nqe/network_quality_store.cc b/net/nqe/network_quality_store.cc |
index 4f744917070899451e83b64ae507b4ad0527fb0d..7a1c253bdbaf7af91de5f69f800dc46c11e56c5c 100644 |
--- a/net/nqe/network_quality_store.cc |
+++ b/net/nqe/network_quality_store.cc |
@@ -59,6 +59,10 @@ void NetworkQualityStore::Add( |
std::make_pair(network_id, cached_network_quality)); |
DCHECK_LE(cached_network_qualities_.size(), |
static_cast<size_t>(kMaximumNetworkQualityCacheSize)); |
+ |
+ FOR_EACH_OBSERVER( |
+ NetworkQualitiesCacheObserver, network_qualities_cache_observer_list_, |
+ OnChangeInCachedNetworkQuality(network_id, cached_network_quality)); |
} |
bool NetworkQualityStore::GetById( |
@@ -76,6 +80,20 @@ bool NetworkQualityStore::GetById( |
return true; |
} |
+void NetworkQualityStore::AddNetworkQualitiesCacheObserver( |
+ nqe::internal::NetworkQualityStore::NetworkQualitiesCacheObserver* |
+ observer) { |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
+ network_qualities_cache_observer_list_.AddObserver(observer); |
+} |
+ |
+void NetworkQualityStore::RemoveNetworkQualitiesCacheObserver( |
+ nqe::internal::NetworkQualityStore::NetworkQualitiesCacheObserver* |
+ observer) { |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
+ network_qualities_cache_observer_list_.RemoveObserver(observer); |
+} |
+ |
} // namespace internal |
} // namespace nqe |