| Index: net/http/http_proxy_client_socket_pool.cc | 
| diff --git a/net/http/http_proxy_client_socket_pool.cc b/net/http/http_proxy_client_socket_pool.cc | 
| index d4c080ff3e95d1ee8e91d0dbf9662e2a7d4ac091..9497de428be221e29e7b567dad09760472994708 100644 | 
| --- a/net/http/http_proxy_client_socket_pool.cc | 
| +++ b/net/http/http_proxy_client_socket_pool.cc | 
| @@ -391,9 +391,18 @@ HttpProxyClientSocketPool::HttpProxyClientSocketPool( | 
| new HttpProxyConnectJobFactory(transport_pool, | 
| ssl_pool, | 
| host_resolver, | 
| -                                           net_log)) {} | 
| +                                           net_log)) { | 
| +  CHECK(transport_pool_); | 
| +  transport_pool_->AddLayeredPool(this); | 
| +  if (ssl_pool_) | 
| +    ssl_pool_->AddLayeredPool(this); | 
| +} | 
|  | 
| -HttpProxyClientSocketPool::~HttpProxyClientSocketPool() {} | 
| +HttpProxyClientSocketPool::~HttpProxyClientSocketPool() { | 
| +  if (ssl_pool_) | 
| +    ssl_pool_->RemoveLayeredPool(this); | 
| +  transport_pool_->RemoveLayeredPool(this); | 
| +} | 
|  | 
| int HttpProxyClientSocketPool::RequestSocket(const std::string& group_name, | 
| const void* socket_params, | 
| @@ -434,6 +443,12 @@ void HttpProxyClientSocketPool::Flush() { | 
| base_.Flush(); | 
| } | 
|  | 
| +bool HttpProxyClientSocketPool::IsStalled() const { | 
| +  return base_.IsStalled() || | 
| +      (transport_pool_ && transport_pool_->IsStalled()) || | 
| +      (ssl_pool_ && ssl_pool_->IsStalled()); | 
| +} | 
| + | 
| void HttpProxyClientSocketPool::CloseIdleSockets() { | 
| base_.CloseIdleSockets(); | 
| } | 
| @@ -452,6 +467,14 @@ LoadState HttpProxyClientSocketPool::GetLoadState( | 
| 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, | 
| @@ -482,4 +505,10 @@ ClientSocketPoolHistograms* HttpProxyClientSocketPool::histograms() const { | 
| return base_.histograms(); | 
| } | 
|  | 
| +bool HttpProxyClientSocketPool::CloseOneIdleConnection() { | 
| +  if (base_.CloseOneIdleSocket()) | 
| +    return true; | 
| +  return base_.CloseOneIdleConnectionInLayeredPool(); | 
| +} | 
| + | 
| }  // namespace net | 
|  |