Chromium Code Reviews| Index: net/socket/client_socket_factory.cc |
| =================================================================== |
| --- net/socket/client_socket_factory.cc (revision 75583) |
| +++ net/socket/client_socket_factory.cc (working copy) |
| @@ -8,12 +8,14 @@ |
| #include "build/build_config.h" |
| #include "net/socket/client_socket_handle.h" |
| #if defined(OS_WIN) |
| -#include "net/socket/ssl_client_socket_win.h" |
| +#include "net/socket/ssl_client_socket_nss.h" |
| +#include "net/socket/ssl_client_socket_win_factory.h" |
| #elif defined(USE_OPENSSL) |
| #include "net/socket/ssl_client_socket_openssl.h" |
| #elif defined(USE_NSS) |
| #include "net/socket/ssl_client_socket_nss.h" |
| #elif defined(OS_MACOSX) |
| +#include "net/socket/ssl_client_socket_mac_factory.h" |
| #include "net/socket/ssl_client_socket_nss.h" |
| #endif |
| #include "net/socket/ssl_host_info.h" |
| @@ -34,8 +36,8 @@ |
| DnsCertProvenanceChecker* dns_cert_checker) { |
| scoped_ptr<SSLHostInfo> shi(ssl_host_info); |
| #if defined(OS_WIN) |
| - return new SSLClientSocketWin(transport_socket, host_and_port, ssl_config, |
| - cert_verifier); |
| + return new SSLClientSocketNSS(transport_socket, host_and_port, ssl_config, |
| + shi.release(), cert_verifier, dns_cert_checker); |
| #elif defined(USE_OPENSSL) |
| return new SSLClientSocketOpenSSL(transport_socket, host_and_port, |
| ssl_config, cert_verifier); |
| @@ -98,10 +100,13 @@ |
| return g_default_client_socket_factory.Pointer(); |
| } |
| -// static |
| -void ClientSocketFactory::SetSSLClientSocketFactory( |
| - SSLClientSocketFactory factory) { |
| - g_ssl_factory = factory; |
| +void ClientSocketFactory::UseSystemSSL() { |
|
wtc
2011/02/23 00:38:38
This function can just set a global boolean flag:
|
| +#if defined(OS_WIN) |
| + g_ssl_factory = net::SSLClientSocketWinFactory; |
| +#elif defined(OS_MACOSX) |
| + g_ssl_factory = net::SSLClientSocketMacFactory; |
|
wtc
2011/02/23 00:38:38
Nit: remove the net:: prefix because this file is
|
| +#endif |
| + SSLClientSocket::UseSystemClearSSLSessionCache(); |
| } |
| } // namespace net |