Index: net/http/http_proxy_client_socket_pool.cc |
=================================================================== |
--- net/http/http_proxy_client_socket_pool.cc (revision 129292) |
+++ net/http/http_proxy_client_socket_pool.cc (working copy) |
@@ -397,9 +397,21 @@ |
new HttpProxyConnectJobFactory(transport_pool, |
ssl_pool, |
host_resolver, |
- net_log)) {} |
+ net_log)) { |
+ // We should always have a |transport_pool_| except in unit tests. |
+ if (transport_pool_) |
+ transport_pool_->AddLayeredPool(this); |
+ if (ssl_pool_) |
+ ssl_pool_->AddLayeredPool(this); |
+} |
-HttpProxyClientSocketPool::~HttpProxyClientSocketPool() {} |
+HttpProxyClientSocketPool::~HttpProxyClientSocketPool() { |
+ if (ssl_pool_) |
+ ssl_pool_->RemoveLayeredPool(this); |
+ // We should always have a |transport_pool_| except in unit tests. |
+ if (transport_pool_) |
+ transport_pool_->RemoveLayeredPool(this); |
+} |
int HttpProxyClientSocketPool::RequestSocket( |
const std::string& group_name, const void* socket_params, |
@@ -438,6 +450,12 @@ |
base_.Flush(); |
} |
+bool HttpProxyClientSocketPool::IsStalled() const { |
+ return base_.IsStalled() || |
+ (transport_pool_ && transport_pool_->IsStalled()) || |
+ (ssl_pool_ && ssl_pool_->IsStalled()); |
+} |
+ |
void HttpProxyClientSocketPool::CloseIdleSockets() { |
base_.CloseIdleSockets(); |
} |
@@ -456,6 +474,14 @@ |
return base_.GetLoadState(group_name, handle); |
} |
+void HttpProxyClientSocketPool::AddLayeredPool(LayeredPool* layered_pool) { |
+ base_.AddLayeredPool(layered_pool); |
+} |
+ |
+void HttpProxyClientSocketPool::RemoveLayeredPool(LayeredPool* layered_pool) { |
+ base_.RemoveLayeredPool(layered_pool); |
+} |
+ |
DictionaryValue* HttpProxyClientSocketPool::GetInfoAsValue( |
const std::string& name, |
const std::string& type, |
@@ -486,4 +512,10 @@ |
return base_.histograms(); |
} |
+bool HttpProxyClientSocketPool::CloseOneIdleConnection() { |
+ if (base_.CloseOneIdleSocket()) |
+ return true; |
+ return base_.CloseOneIdleConnectionInLayeredPool(); |
+} |
+ |
} // namespace net |