Index: net/base/network_change_notifier_mac.cc |
diff --git a/net/base/network_change_notifier_mac.cc b/net/base/network_change_notifier_mac.cc |
index 515cbd0303397ba4b4bae44d3a0d22aa0e5ed060..2c350df6990a782e917cbd7c2d36da25f233aab3 100644 |
--- a/net/base/network_change_notifier_mac.cc |
+++ b/net/base/network_change_notifier_mac.cc |
@@ -63,7 +63,8 @@ class NetworkChangeNotifierMac::DnsConfigServiceThread : public base::Thread { |
}; |
NetworkChangeNotifierMac::NetworkChangeNotifierMac() |
- : connection_type_(CONNECTION_UNKNOWN), |
+ : NetworkChangeNotifier(NetworkChangeCalculatorParamsMac()), |
+ connection_type_(CONNECTION_UNKNOWN), |
connection_type_initialized_(false), |
initial_connection_type_cv_(&connection_type_lock_), |
forwarder_(this), |
@@ -89,6 +90,20 @@ NetworkChangeNotifierMac::~NetworkChangeNotifierMac() { |
} |
} |
+// static |
+NetworkChangeNotifier::NetworkChangeCalculatorParams |
+NetworkChangeNotifierMac::NetworkChangeCalculatorParamsMac() { |
+ NetworkChangeCalculatorParams params; |
+ // Delay values arrived at by simple experimentation and adjusted so as to |
+ // produce a single signal when switching between network connections. |
+ params.ip_address_offline_delay_ = base::TimeDelta::FromMilliseconds(500); |
+ params.ip_address_online_delay_ = base::TimeDelta::FromMilliseconds(500); |
+ params.connection_type_offline_delay_ = |
+ base::TimeDelta::FromMilliseconds(1000); |
+ params.connection_type_online_delay_ = base::TimeDelta::FromMilliseconds(500); |
+ return params; |
+} |
+ |
NetworkChangeNotifier::ConnectionType |
NetworkChangeNotifierMac::GetCurrentConnectionType() const { |
base::AutoLock lock(connection_type_lock_); |