| 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);
|
|
|