Index: chrome/browser/io_thread.cc |
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc |
index 1fe62bb81298fd91046b49734f2601d7f9affe20..cc095f7dc32ac0beaedb6d55660ac58c5d942fde 100644 |
--- a/chrome/browser/io_thread.cc |
+++ b/chrome/browser/io_thread.cc |
@@ -236,26 +236,31 @@ ConstructSystemRequestContext(IOThread::Globals* globals, |
class IOThread::LoggingNetworkChangeObserver |
: public net::NetworkChangeNotifier::IPAddressObserver, |
- public net::NetworkChangeNotifier::ConnectionTypeObserver { |
+ public net::NetworkChangeNotifier::ConnectionTypeObserver, |
+ public net::NetworkChangeNotifier::NetworkChangeObserver { |
public: |
// |net_log| must remain valid throughout our lifetime. |
explicit LoggingNetworkChangeObserver(net::NetLog* net_log) |
: net_log_(net_log) { |
net::NetworkChangeNotifier::AddIPAddressObserver(this); |
net::NetworkChangeNotifier::AddConnectionTypeObserver(this); |
+ net::NetworkChangeNotifier::AddNetworkChangeObserver(this); |
} |
~LoggingNetworkChangeObserver() { |
net::NetworkChangeNotifier::RemoveIPAddressObserver(this); |
net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this); |
+ net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); |
} |
+ // NetworkChangeNotifier::IPAddressObserver implementation. |
virtual void OnIPAddressChanged() OVERRIDE { |
VLOG(1) << "Observed a change to the network IP addresses"; |
net_log_->AddGlobalEntry(net::NetLog::TYPE_NETWORK_IP_ADDRESSES_CHANGED); |
} |
+ // NetworkChangeNotifier::ConnectionTypeObserver implementation. |
virtual void OnConnectionTypeChanged( |
net::NetworkChangeNotifier::ConnectionType type) OVERRIDE { |
std::string type_as_string = |
@@ -269,6 +274,19 @@ class IOThread::LoggingNetworkChangeObserver |
net::NetLog::StringCallback("new_connection_type", &type_as_string)); |
} |
+ // NetworkChangeNotifier::NetworkChangeObserver implementation. |
+ virtual void OnNetworkChanged( |
+ net::NetworkChangeNotifier::ConnectionType type) OVERRIDE { |
+ std::string type_as_string = |
+ net::NetworkChangeNotifier::ConnectionTypeToString(type); |
+ |
+ VLOG(1) << "Observed a network change to state " << type_as_string; |
+ |
+ net_log_->AddGlobalEntry( |
+ net::NetLog::TYPE_NETWORK_CHANGED, |
+ net::NetLog::StringCallback("new_connection_type", &type_as_string)); |
+ } |
+ |
private: |
net::NetLog* net_log_; |
DISALLOW_COPY_AND_ASSIGN(LoggingNetworkChangeObserver); |