summaryrefslogtreecommitdiffstats
path: root/net/socket/client_socket_pool_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/client_socket_pool_manager.cc')
-rw-r--r--net/socket/client_socket_pool_manager.cc17
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