Chromium Code Reviews| Index: net/base/network_change_notifier.cc |
| diff --git a/net/base/network_change_notifier.cc b/net/base/network_change_notifier.cc |
| index 03502f6dbfd6a21daef19127e08348013198660d..c41d83c781b0b65972ab3fa2662b97502890a4a0 100644 |
| --- a/net/base/network_change_notifier.cc |
| +++ b/net/base/network_change_notifier.cc |
| @@ -542,10 +542,16 @@ NetworkChangeNotifier::GetConnectionType() { |
| } |
| // static |
| -double NetworkChangeNotifier::GetMaxBandwidth() { |
| - return g_network_change_notifier ? |
| - g_network_change_notifier->GetCurrentMaxBandwidth() : |
| - std::numeric_limits<double>::infinity(); |
| +void NetworkChangeNotifier::GetMaxBandwidthAndConnectionType( |
| + double* max_bandwidth_mbps, |
| + ConnectionType* connection_type) { |
| + if (!g_network_change_notifier) { |
| + *connection_type = CONNECTION_UNKNOWN; |
| + *max_bandwidth_mbps = GetMaxBandwidthForConnectionSubtype(SUBTYPE_UNKNOWN); |
| + } |
| + |
|
pauljensen
2015/09/15 18:17:40
so if !g_network_change_notifier we dereference it
jkarlin
2015/09/16 12:12:22
Meant to have an early return, good catch. Thanks.
|
| + g_network_change_notifier->GetCurrentMaxBandwidthAndConnectionType( |
| + max_bandwidth_mbps, connection_type); |
| } |
| // static |
| @@ -792,6 +798,15 @@ void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigReadForTests() { |
| } |
| // static |
| +void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeForTests( |
| + ConnectionType type, |
| + double max_bandwidth) { |
|
pauljensen
2015/09/15 18:17:40
add _mbps suffix
jkarlin
2015/09/16 12:12:22
Done.
|
| + if (g_network_change_notifier) |
|
pauljensen
2015/09/15 18:17:40
need curly braces when more than one line clause
jkarlin
2015/09/16 12:12:22
Done.
|
| + g_network_change_notifier->NotifyObserversOfMaxBandwidthChangeImpl( |
| + type, max_bandwidth); |
| +} |
| + |
| +// static |
| void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) { |
| DCHECK(!g_network_change_notifier); |
| NetworkChangeNotifier::test_notifications_only_ = test_only; |
| @@ -830,13 +845,17 @@ NetworkChangeNotifier::GetAddressTrackerInternal() const { |
| } |
| #endif |
| -double NetworkChangeNotifier::GetCurrentMaxBandwidth() const { |
| +void NetworkChangeNotifier::GetCurrentMaxBandwidthAndConnectionType( |
| + double* max_bandwidth_mbps, |
| + ConnectionType* connection_type) const { |
| // This default implementation conforms to the NetInfo V3 specification but |
| // should be overridden to provide specific bandwidth data based on the |
| // platform. |
| - if (GetCurrentConnectionType() == CONNECTION_NONE) |
| - return 0.0; |
| - return std::numeric_limits<double>::infinity(); |
| + *connection_type = GetCurrentConnectionType(); |
| + *max_bandwidth_mbps = |
| + *connection_type == CONNECTION_NONE |
| + ? GetMaxBandwidthForConnectionSubtype(SUBTYPE_NONE) |
| + : GetMaxBandwidthForConnectionSubtype(SUBTYPE_UNKNOWN); |
| } |
| // static |
| @@ -942,11 +961,12 @@ void NetworkChangeNotifier::NotifyObserversOfNetworkChange( |
| // static |
| void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChange( |
| + ConnectionType type, |
| double max_bandwidth_mbps) { |
| if (g_network_change_notifier && |
| !NetworkChangeNotifier::test_notifications_only_) { |
| g_network_change_notifier->NotifyObserversOfMaxBandwidthChangeImpl( |
| - max_bandwidth_mbps); |
| + type, max_bandwidth_mbps); |
| } |
| } |
| @@ -1015,9 +1035,10 @@ void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigReadImpl() { |
| } |
| void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeImpl( |
| + ConnectionType type, |
| double max_bandwidth_mbps) { |
| max_bandwidth_observer_list_->Notify( |
| - FROM_HERE, &MaxBandwidthObserver::OnMaxBandwidthChanged, |
| + FROM_HERE, &MaxBandwidthObserver::OnMaxBandwidthChanged, type, |
| max_bandwidth_mbps); |
| } |