OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/io_thread.h" | 5 #include "chrome/browser/io_thread.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 context->set_network_delegate(globals->system_network_delegate.get()); | 229 context->set_network_delegate(globals->system_network_delegate.get()); |
230 context->set_http_user_agent_settings( | 230 context->set_http_user_agent_settings( |
231 globals->http_user_agent_settings.get()); | 231 globals->http_user_agent_settings.get()); |
232 return context; | 232 return context; |
233 } | 233 } |
234 | 234 |
235 } // namespace | 235 } // namespace |
236 | 236 |
237 class IOThread::LoggingNetworkChangeObserver | 237 class IOThread::LoggingNetworkChangeObserver |
238 : public net::NetworkChangeNotifier::IPAddressObserver, | 238 : public net::NetworkChangeNotifier::IPAddressObserver, |
239 public net::NetworkChangeNotifier::ConnectionTypeObserver { | 239 public net::NetworkChangeNotifier::ConnectionTypeObserver, |
| 240 public net::NetworkChangeNotifier::NetworkChangeObserver { |
240 public: | 241 public: |
241 // |net_log| must remain valid throughout our lifetime. | 242 // |net_log| must remain valid throughout our lifetime. |
242 explicit LoggingNetworkChangeObserver(net::NetLog* net_log) | 243 explicit LoggingNetworkChangeObserver(net::NetLog* net_log) |
243 : net_log_(net_log) { | 244 : net_log_(net_log) { |
244 net::NetworkChangeNotifier::AddIPAddressObserver(this); | 245 net::NetworkChangeNotifier::AddIPAddressObserver(this); |
245 net::NetworkChangeNotifier::AddConnectionTypeObserver(this); | 246 net::NetworkChangeNotifier::AddConnectionTypeObserver(this); |
| 247 net::NetworkChangeNotifier::AddNetworkChangeObserver(this); |
246 } | 248 } |
247 | 249 |
248 ~LoggingNetworkChangeObserver() { | 250 ~LoggingNetworkChangeObserver() { |
249 net::NetworkChangeNotifier::RemoveIPAddressObserver(this); | 251 net::NetworkChangeNotifier::RemoveIPAddressObserver(this); |
250 net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this); | 252 net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this); |
| 253 net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); |
251 } | 254 } |
252 | 255 |
| 256 // NetworkChangeNotifier::IPAddressObserver implementation. |
253 virtual void OnIPAddressChanged() OVERRIDE { | 257 virtual void OnIPAddressChanged() OVERRIDE { |
254 VLOG(1) << "Observed a change to the network IP addresses"; | 258 VLOG(1) << "Observed a change to the network IP addresses"; |
255 | 259 |
256 net_log_->AddGlobalEntry(net::NetLog::TYPE_NETWORK_IP_ADDRESSES_CHANGED); | 260 net_log_->AddGlobalEntry(net::NetLog::TYPE_NETWORK_IP_ADDRESSES_CHANGED); |
257 } | 261 } |
258 | 262 |
| 263 // NetworkChangeNotifier::ConnectionTypeObserver implementation. |
259 virtual void OnConnectionTypeChanged( | 264 virtual void OnConnectionTypeChanged( |
260 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE { | 265 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE { |
261 std::string type_as_string = | 266 std::string type_as_string = |
262 net::NetworkChangeNotifier::ConnectionTypeToString(type); | 267 net::NetworkChangeNotifier::ConnectionTypeToString(type); |
263 | 268 |
264 VLOG(1) << "Observed a change to network connectivity state " | 269 VLOG(1) << "Observed a change to network connectivity state " |
265 << type_as_string; | 270 << type_as_string; |
266 | 271 |
267 net_log_->AddGlobalEntry( | 272 net_log_->AddGlobalEntry( |
268 net::NetLog::TYPE_NETWORK_CONNECTIVITY_CHANGED, | 273 net::NetLog::TYPE_NETWORK_CONNECTIVITY_CHANGED, |
269 net::NetLog::StringCallback("new_connection_type", &type_as_string)); | 274 net::NetLog::StringCallback("new_connection_type", &type_as_string)); |
270 } | 275 } |
271 | 276 |
| 277 // NetworkChangeNotifier::NetworkChangeObserver implementation. |
| 278 virtual void OnNetworkChanged( |
| 279 net::NetworkChangeNotifier::ConnectionType type) OVERRIDE { |
| 280 std::string type_as_string = |
| 281 net::NetworkChangeNotifier::ConnectionTypeToString(type); |
| 282 |
| 283 VLOG(1) << "Observed a network change to state " << type_as_string; |
| 284 |
| 285 net_log_->AddGlobalEntry( |
| 286 net::NetLog::TYPE_NETWORK_CHANGED, |
| 287 net::NetLog::StringCallback("new_connection_type", &type_as_string)); |
| 288 } |
| 289 |
272 private: | 290 private: |
273 net::NetLog* net_log_; | 291 net::NetLog* net_log_; |
274 DISALLOW_COPY_AND_ASSIGN(LoggingNetworkChangeObserver); | 292 DISALLOW_COPY_AND_ASSIGN(LoggingNetworkChangeObserver); |
275 }; | 293 }; |
276 | 294 |
277 class SystemURLRequestContextGetter : public net::URLRequestContextGetter { | 295 class SystemURLRequestContextGetter : public net::URLRequestContextGetter { |
278 public: | 296 public: |
279 explicit SystemURLRequestContextGetter(IOThread* io_thread); | 297 explicit SystemURLRequestContextGetter(IOThread* io_thread); |
280 | 298 |
281 // Implementation for net::UrlRequestContextGetter. | 299 // Implementation for net::UrlRequestContextGetter. |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 new net::HttpNetworkLayer( | 752 new net::HttpNetworkLayer( |
735 new net::HttpNetworkSession(system_params))); | 753 new net::HttpNetworkSession(system_params))); |
736 globals_->system_ftp_transaction_factory.reset( | 754 globals_->system_ftp_transaction_factory.reset( |
737 new net::FtpNetworkLayer(globals_->host_resolver.get())); | 755 new net::FtpNetworkLayer(globals_->host_resolver.get())); |
738 globals_->system_request_context.reset( | 756 globals_->system_request_context.reset( |
739 ConstructSystemRequestContext(globals_, net_log_)); | 757 ConstructSystemRequestContext(globals_, net_log_)); |
740 | 758 |
741 sdch_manager_->set_sdch_fetcher( | 759 sdch_manager_->set_sdch_fetcher( |
742 new SdchDictionaryFetcher(system_url_request_context_getter_.get())); | 760 new SdchDictionaryFetcher(system_url_request_context_getter_.get())); |
743 } | 761 } |
OLD | NEW |