diff options
Diffstat (limited to 'net/socket/client_socket_pool_manager.cc')
-rw-r--r-- | net/socket/client_socket_pool_manager.cc | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc index 999b4e6..3d12256 100644 --- a/net/socket/client_socket_pool_manager.cc +++ b/net/socket/client_socket_pool_manager.cc @@ -8,12 +8,15 @@ #include "net/socket/client_socket_pool_manager.h" +#include <string> + #include "base/logging.h" #include "base/values.h" #include "net/base/ssl_config_service.h" #include "net/http/http_proxy_client_socket_pool.h" -#include "net/socket/client_socket_pool_histograms.h" #include "net/proxy/proxy_service.h" +#include "net/socket/client_socket_factory.h" +#include "net/socket/client_socket_pool_histograms.h" #include "net/socket/socks_client_socket_pool.h" #include "net/socket/ssl_client_socket_pool.h" #include "net/socket/tcp_client_socket_pool.h" @@ -98,9 +101,13 @@ ClientSocketPoolManager::ClientSocketPoolManager( tcp_for_https_proxy_pool_histograms_("TCPforHTTPSProxy"), ssl_for_https_proxy_pool_histograms_("SSLforHTTPSProxy"), http_proxy_pool_histograms_("HTTPProxy"), - ssl_socket_pool_for_proxies_histograms_("SSLForProxies") {} + ssl_socket_pool_for_proxies_histograms_("SSLForProxies") { + CertDatabase::AddObserver(this); +} -ClientSocketPoolManager::~ClientSocketPoolManager() {} +ClientSocketPoolManager::~ClientSocketPoolManager() { + CertDatabase::RemoveObserver(this); +} void ClientSocketPoolManager::FlushSocketPools() { // Flush the highest level pools first, since higher level pools may release @@ -392,4 +399,8 @@ Value* ClientSocketPoolManager::SocketPoolInfoToValue() const { return list; } +void ClientSocketPoolManager::OnUserCertAdded(X509Certificate* cert) { + FlushSocketPools(); +} + } // namespace net |