summaryrefslogtreecommitdiffstats
path: root/net/http/http_network_session.h
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-21 21:08:35 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-21 21:08:35 +0000
commit100d5fb906712b03495b961c35f9c9b21381a74a (patch)
tree284b84c9e6baba6da57427243a8b7729f67cb132 /net/http/http_network_session.h
parent92683b5a068ab7c7f58251dbee9b047314977bae (diff)
downloadchromium_src-100d5fb906712b03495b961c35f9c9b21381a74a.zip
chromium_src-100d5fb906712b03495b961c35f9c9b21381a74a.tar.gz
chromium_src-100d5fb906712b03495b961c35f9c9b21381a74a.tar.bz2
Detects network changes. Only for Mac OS X so far. Hooks up TCPClientSocketPool to flush idle sockets on IP address change.
BUG=http://crbug.com/26156 TEST=Run chrome with both network cable and wireless on. Go to www.google.com, twice. Verify second time via chrome://net-internals that the second request did not need a TCP_CONNECT_JOB, since we reused idle sockets. Unplug network cable. This should flush idle sockets. Go back to www.google.com. Check chrome://net-internals. Verify that there is a TCP_CONNECT_JOB for that request, because there was no idle socket to reuse. Review URL: http://codereview.chromium.org/460149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35107 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_network_session.h')
-rw-r--r--net/http/http_network_session.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h
index 27267bb..6eb92db 100644
--- a/net/http/http_network_session.h
+++ b/net/http/http_network_session.h
@@ -21,10 +21,12 @@ class FlipSessionPool;
// This class holds session objects used by HttpNetworkTransaction objects.
class HttpNetworkSession : public base::RefCounted<HttpNetworkSession> {
public:
- HttpNetworkSession(HostResolver* host_resolver, ProxyService* proxy_service,
- ClientSocketFactory* client_socket_factory,
- SSLConfigService* ssl_config_service,
- FlipSessionPool* flip_session_pool);
+ HttpNetworkSession(
+ HostResolver* host_resolver,
+ ProxyService* proxy_service,
+ ClientSocketFactory* client_socket_factory,
+ SSLConfigService* ssl_config_service,
+ FlipSessionPool* flip_session_pool);
HttpAuthCache* auth_cache() { return &auth_cache_; }
SSLClientAuthCache* ssl_client_auth_cache() {
@@ -69,6 +71,7 @@ class HttpNetworkSession : public base::RefCounted<HttpNetworkSession> {
HttpAuthCache auth_cache_;
SSLClientAuthCache ssl_client_auth_cache_;
+ const scoped_refptr<NetworkChangeNotifier> network_change_notifier_;
scoped_refptr<TCPClientSocketPool> tcp_socket_pool_;
ClientSocketFactory* socket_factory_;
scoped_refptr<HostResolver> host_resolver_;