Chromium Code Reviews| Index: chrome/browser/prerender/prerender_browsertest.cc |
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
| index dbd6f2c4e8ae42fd140a382998ebf5500146be62..5e1a562b2a03dcc5fcfd484e88d581fdce9976e7 100644 |
| --- a/chrome/browser/prerender/prerender_browsertest.cc |
| +++ b/chrome/browser/prerender/prerender_browsertest.cc |
| @@ -106,11 +106,13 @@ |
| #include "extensions/common/switches.h" |
| #include "extensions/test/result_catcher.h" |
| #include "net/base/escape.h" |
| +#include "net/base/test_data_directory.h" |
| #include "net/cert/x509_certificate.h" |
| #include "net/dns/mock_host_resolver.h" |
| #include "net/ssl/client_cert_store.h" |
| #include "net/ssl/ssl_cert_request_info.h" |
| #include "net/ssl/ssl_server_config.h" |
| +#include "net/test/cert_test_util.h" |
| #include "net/test/embedded_test_server/embedded_test_server.h" |
| #include "net/test/embedded_test_server/request_handler_util.h" |
| #include "net/test/url_request/url_request_mock_http_job.h" |
| @@ -2841,22 +2843,26 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderTargetHasPopup) { |
| class TestClientCertStore : public net::ClientCertStore { |
| public: |
| - TestClientCertStore() {} |
| + explicit TestClientCertStore(const net::CertificateList& certs) |
| + : certs_(certs) {} |
|
Nico
2016/06/22 14:12:11
hm, copying a bag of raw pointers smells a bit fun
Ryan Sleevi
2016/06/22 15:22:26
It's copying scoped_refptr<>s
|
| ~TestClientCertStore() override {} |
| // net::ClientCertStore: |
| void GetClientCerts(const net::SSLCertRequestInfo& cert_request_info, |
| net::CertificateList* selected_certs, |
| const base::Closure& callback) override { |
| - *selected_certs = net::CertificateList( |
| - 1, scoped_refptr<net::X509Certificate>( |
| - new net::X509Certificate("test", "test", base::Time(), base::Time()))); |
| + *selected_certs = certs_; |
| callback.Run(); |
| } |
| + |
| + private: |
| + net::CertificateList certs_; |
| }; |
| -std::unique_ptr<net::ClientCertStore> CreateCertStore() { |
| - return std::unique_ptr<net::ClientCertStore>(new TestClientCertStore); |
| +std::unique_ptr<net::ClientCertStore> CreateCertStore( |
| + scoped_refptr<net::X509Certificate> available_cert) { |
| + return std::unique_ptr<net::ClientCertStore>( |
| + new TestClientCertStore(net::CertificateList(1, available_cert))); |
| } |
| // Checks that a top-level page which would normally request an SSL client |
| @@ -2864,9 +2870,10 @@ std::unique_ptr<net::ClientCertStore> CreateCertStore() { |
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| PrerenderSSLClientCertTopLevel) { |
| ProfileIOData::FromResourceContext( |
| - current_browser()->profile()->GetResourceContext())-> |
| - set_client_cert_store_factory_for_testing( |
| - base::Bind(&CreateCertStore)); |
| + current_browser()->profile()->GetResourceContext()) |
| + ->set_client_cert_store_factory_for_testing(base::Bind( |
| + &CreateCertStore, net::ImportCertFromFile( |
| + net::GetTestCertsDirectory(), "ok_cert.pem"))); |
| net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
| net::SSLServerConfig ssl_config; |
| ssl_config.client_cert_type = |
| @@ -2883,9 +2890,10 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| PrerenderSSLClientCertSubresource) { |
| ProfileIOData::FromResourceContext( |
| - current_browser()->profile()->GetResourceContext())-> |
| - set_client_cert_store_factory_for_testing( |
| - base::Bind(&CreateCertStore)); |
| + current_browser()->profile()->GetResourceContext()) |
| + ->set_client_cert_store_factory_for_testing(base::Bind( |
| + &CreateCertStore, net::ImportCertFromFile( |
| + net::GetTestCertsDirectory(), "ok_cert.pem"))); |
| net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
| net::SSLServerConfig ssl_config; |
| ssl_config.client_cert_type = |
| @@ -2910,9 +2918,10 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| // iframe will cancel the prerendered page. |
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLClientCertIframe) { |
| ProfileIOData::FromResourceContext( |
| - current_browser()->profile()->GetResourceContext())-> |
| - set_client_cert_store_factory_for_testing( |
| - base::Bind(&CreateCertStore)); |
| + current_browser()->profile()->GetResourceContext()) |
| + ->set_client_cert_store_factory_for_testing(base::Bind( |
| + &CreateCertStore, net::ImportCertFromFile( |
| + net::GetTestCertsDirectory(), "ok_cert.pem"))); |
| net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
| net::SSLServerConfig ssl_config; |
| ssl_config.client_cert_type = |