| 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..2c9737bcf67c2df971a69da586a48d879a7d53f6 100644
|
| --- a/net/base/network_change_notifier.cc
|
| +++ b/net/base/network_change_notifier.cc
|
| @@ -542,10 +542,17 @@ 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);
|
| + return;
|
| + }
|
| +
|
| + g_network_change_notifier->GetCurrentMaxBandwidthAndConnectionType(
|
| + max_bandwidth_mbps, connection_type);
|
| }
|
|
|
| // static
|
| @@ -792,6 +799,16 @@ void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigReadForTests() {
|
| }
|
|
|
| // static
|
| +void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeForTests(
|
| + double max_bandwidth_mbps,
|
| + ConnectionType type) {
|
| + if (g_network_change_notifier) {
|
| + g_network_change_notifier->NotifyObserversOfMaxBandwidthChangeImpl(
|
| + max_bandwidth_mbps, type);
|
| + }
|
| +}
|
| +
|
| +// static
|
| void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) {
|
| DCHECK(!g_network_change_notifier);
|
| NetworkChangeNotifier::test_notifications_only_ = test_only;
|
| @@ -830,13 +847,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 +963,12 @@ void NetworkChangeNotifier::NotifyObserversOfNetworkChange(
|
|
|
| // static
|
| void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChange(
|
| - double max_bandwidth_mbps) {
|
| + double max_bandwidth_mbps,
|
| + ConnectionType type) {
|
| if (g_network_change_notifier &&
|
| !NetworkChangeNotifier::test_notifications_only_) {
|
| g_network_change_notifier->NotifyObserversOfMaxBandwidthChangeImpl(
|
| - max_bandwidth_mbps);
|
| + max_bandwidth_mbps, type);
|
| }
|
| }
|
|
|
| @@ -1015,10 +1037,11 @@ void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigReadImpl() {
|
| }
|
|
|
| void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeImpl(
|
| - double max_bandwidth_mbps) {
|
| + double max_bandwidth_mbps,
|
| + ConnectionType type) {
|
| max_bandwidth_observer_list_->Notify(
|
| FROM_HERE, &MaxBandwidthObserver::OnMaxBandwidthChanged,
|
| - max_bandwidth_mbps);
|
| + max_bandwidth_mbps, type);
|
| }
|
|
|
| NetworkChangeNotifier::DisableForTest::DisableForTest()
|
|
|