Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Unified Diff: net/base/network_change_notifier.cc

Issue 780293003: [NetInfo] Add MaxBandwidthChanged notification and implement on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@maxbandwidth_android
Patch Set: Don't monitor RSSI if there is no permission to act on it Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« net/base/network_change_notifier.h ('K') | « net/base/network_change_notifier.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/network_change_notifier.cc
diff --git a/net/base/network_change_notifier.cc b/net/base/network_change_notifier.cc
index b797864ac80f4a74833247f97ebf97ce0a3cc89a..b7a2b7873fb0922239a8f72c55bc1cf79738da82 100644
--- a/net/base/network_change_notifier.cc
+++ b/net/base/network_change_notifier.cc
@@ -688,6 +688,14 @@ void NetworkChangeNotifier::AddNetworkChangeObserver(
}
}
+void NetworkChangeNotifier::AddMaxBandwidthChangeObserver(
+ MaxBandwidthChangeObserver* observer) {
+ if (g_network_change_notifier) {
+ g_network_change_notifier->max_bandwidth_change_observer_list_->AddObserver(
+ observer);
+ }
+}
+
void NetworkChangeNotifier::RemoveIPAddressObserver(
IPAddressObserver* observer) {
if (g_network_change_notifier) {
@@ -719,6 +727,14 @@ void NetworkChangeNotifier::RemoveNetworkChangeObserver(
}
}
+void NetworkChangeNotifier::RemoveMaxBandwidthChangeObserver(
+ MaxBandwidthChangeObserver* observer) {
+ if (g_network_change_notifier) {
+ g_network_change_notifier->max_bandwidth_change_observer_list_
+ ->RemoveObserver(observer);
+ }
+}
+
// static
void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests() {
if (g_network_change_notifier)
@@ -747,19 +763,20 @@ void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) {
NetworkChangeNotifier::NetworkChangeNotifier(
const NetworkChangeCalculatorParams& params
- /*= NetworkChangeCalculatorParams()*/)
- : ip_address_observer_list_(
- new ObserverListThreadSafe<IPAddressObserver>(
- ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)),
+ /*= NetworkChangeCalculatorParams()*/)
+ : ip_address_observer_list_(new ObserverListThreadSafe<IPAddressObserver>(
+ ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)),
connection_type_observer_list_(
- new ObserverListThreadSafe<ConnectionTypeObserver>(
- ObserverListBase<ConnectionTypeObserver>::NOTIFY_EXISTING_ONLY)),
- resolver_state_observer_list_(
- new ObserverListThreadSafe<DNSObserver>(
- ObserverListBase<DNSObserver>::NOTIFY_EXISTING_ONLY)),
+ new ObserverListThreadSafe<ConnectionTypeObserver>(
+ ObserverListBase<ConnectionTypeObserver>::NOTIFY_EXISTING_ONLY)),
+ resolver_state_observer_list_(new ObserverListThreadSafe<DNSObserver>(
+ ObserverListBase<DNSObserver>::NOTIFY_EXISTING_ONLY)),
network_change_observer_list_(
- new ObserverListThreadSafe<NetworkChangeObserver>(
- ObserverListBase<NetworkChangeObserver>::NOTIFY_EXISTING_ONLY)),
+ new ObserverListThreadSafe<NetworkChangeObserver>(
+ ObserverListBase<NetworkChangeObserver>::NOTIFY_EXISTING_ONLY)),
+ max_bandwidth_change_observer_list_(new ObserverListThreadSafe<
+ MaxBandwidthChangeObserver>(
+ ObserverListBase<MaxBandwidthChangeObserver>::NOTIFY_EXISTING_ONLY)),
network_state_(new NetworkState()),
network_change_calculator_(new NetworkChangeCalculator(params)),
test_notifications_only_(false) {
@@ -886,6 +903,16 @@ void NetworkChangeNotifier::NotifyObserversOfNetworkChange(
}
// static
+void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChange(
+ double max_bandwidth_mbps) {
+ if (g_network_change_notifier &&
+ !g_network_change_notifier->test_notifications_only_) {
+ g_network_change_notifier->NotifyObserversOfMaxBandwidthChangeImpl(
+ max_bandwidth_mbps);
+ }
+}
+
+// static
void NetworkChangeNotifier::NotifyObserversOfDNSChange() {
if (g_network_change_notifier &&
!g_network_change_notifier->test_notifications_only_) {
@@ -921,6 +948,12 @@ void NetworkChangeNotifier::NotifyObserversOfDNSChangeImpl() {
resolver_state_observer_list_->Notify(&DNSObserver::OnDNSChanged);
}
+void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeImpl(
+ double max_bandwidth_mbps) {
+ max_bandwidth_change_observer_list_->Notify(
+ &MaxBandwidthChangeObserver::OnMaxBandwidthChanged, max_bandwidth_mbps);
+}
+
NetworkChangeNotifier::DisableForTest::DisableForTest()
: network_change_notifier_(g_network_change_notifier) {
DCHECK(g_network_change_notifier);
« net/base/network_change_notifier.h ('K') | « net/base/network_change_notifier.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698