Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: chrome/browser/renderer_host/resource_dispatcher_host.cc

Issue 661241: Linux: implement Client SSL Certificate selection UI (Closed)
Patch Set: fix views and chromeos builds hopefully Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/gtk/certificate_viewer.cc ('k') | chrome/browser/ssl/ssl_client_auth_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading
6 6
7 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" 7 #include "chrome/browser/renderer_host/resource_dispatcher_host.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 DCHECK(!info->login_handler()) << 962 DCHECK(!info->login_handler()) <<
963 "OnAuthRequired called with login_handler pending"; 963 "OnAuthRequired called with login_handler pending";
964 info->set_login_handler(CreateLoginPrompt(auth_info, request)); 964 info->set_login_handler(CreateLoginPrompt(auth_info, request));
965 } 965 }
966 966
967 void ResourceDispatcherHost::OnCertificateRequested( 967 void ResourceDispatcherHost::OnCertificateRequested(
968 URLRequest* request, 968 URLRequest* request,
969 net::SSLCertRequestInfo* cert_request_info) { 969 net::SSLCertRequestInfo* cert_request_info) {
970 DCHECK(request); 970 DCHECK(request);
971 971
972 #if defined(OS_LINUX)
973 bool select_first_cert = CommandLine::ForCurrentProcess()->HasSwitch(
974 switches::kAutoSSLClientAuth);
975 net::X509Certificate* cert =
976 select_first_cert && !cert_request_info->client_certs.empty() ?
977 cert_request_info->client_certs[0] : NULL;
978 request->ContinueWithCertificate(cert);
979 #else
980 if (cert_request_info->client_certs.empty()) { 972 if (cert_request_info->client_certs.empty()) {
981 // No need to query the user if there are no certs to choose from. 973 // No need to query the user if there are no certs to choose from.
982 request->ContinueWithCertificate(NULL); 974 request->ContinueWithCertificate(NULL);
983 return; 975 return;
984 } 976 }
985 977
986 ResourceDispatcherHostRequestInfo* info = InfoForRequest(request); 978 ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
987 DCHECK(!info->ssl_client_auth_handler()) << 979 DCHECK(!info->ssl_client_auth_handler()) <<
988 "OnCertificateRequested called with ssl_client_auth_handler pending"; 980 "OnCertificateRequested called with ssl_client_auth_handler pending";
989 info->set_ssl_client_auth_handler( 981 info->set_ssl_client_auth_handler(
990 new SSLClientAuthHandler(request, cert_request_info)); 982 new SSLClientAuthHandler(request, cert_request_info));
991 info->ssl_client_auth_handler()->SelectCertificate(); 983 info->ssl_client_auth_handler()->SelectCertificate();
992 #endif
993 } 984 }
994 985
995 void ResourceDispatcherHost::OnSSLCertificateError( 986 void ResourceDispatcherHost::OnSSLCertificateError(
996 URLRequest* request, 987 URLRequest* request,
997 int cert_error, 988 int cert_error,
998 net::X509Certificate* cert) { 989 net::X509Certificate* cert) {
999 DCHECK(request); 990 DCHECK(request);
1000 SSLManager::OnSSLCertificateError(this, request, cert_error, cert); 991 SSLManager::OnSSLCertificateError(this, request, cert_error, cert);
1001 } 992 }
1002 993
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after
1766 const ResourceType::Type& resource_type, 1757 const ResourceType::Type& resource_type,
1767 ResourceDispatcherHostRequestInfo* request_info) { 1758 ResourceDispatcherHostRequestInfo* request_info) {
1768 // Apply filter only to chrome extension css files that don't have 1759 // Apply filter only to chrome extension css files that don't have
1769 // security filter already set. 1760 // security filter already set.
1770 if (url.SchemeIs(chrome::kExtensionScheme) && 1761 if (url.SchemeIs(chrome::kExtensionScheme) &&
1771 request_info->filter_policy() == FilterPolicy::DONT_FILTER && 1762 request_info->filter_policy() == FilterPolicy::DONT_FILTER &&
1772 resource_type == ResourceType::STYLESHEET) { 1763 resource_type == ResourceType::STYLESHEET) {
1773 request_info->set_filter_policy(FilterPolicy::FILTER_EXTENSION_MESSAGES); 1764 request_info->set_filter_policy(FilterPolicy::FILTER_EXTENSION_MESSAGES);
1774 } 1765 }
1775 } 1766 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/certificate_viewer.cc ('k') | chrome/browser/ssl/ssl_client_auth_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698