| Index: chrome/browser/tab_contents/tab_contents_ssl_helper.cc
|
| diff --git a/chrome/browser/tab_contents/tab_contents_ssl_helper.cc b/chrome/browser/tab_contents/tab_contents_ssl_helper.cc
|
| index ed544c25e076af9f04c0c20665977ebe3b5a39ea..93be6d709ceb71c935412f73be96c0317d4fa17a 100644
|
| --- a/chrome/browser/tab_contents/tab_contents_ssl_helper.cc
|
| +++ b/chrome/browser/tab_contents/tab_contents_ssl_helper.cc
|
| @@ -41,24 +41,6 @@ gfx::Image* GetCertIcon() {
|
| IDR_INFOBAR_SAVE_PASSWORD);
|
| }
|
|
|
| -bool CertMatchesFilter(const net::X509Certificate& cert,
|
| - const base::DictionaryValue& filter) {
|
| - // TODO(markusheintz): This is the minimal required filter implementation.
|
| - // Implement a better matcher.
|
| -
|
| - // An empty filter matches any client certificate since no requirements are
|
| - // specified at all.
|
| - if (filter.empty())
|
| - return true;
|
| -
|
| - std::string common_name;
|
| - if (filter.GetString("ISSUER.CN", &common_name) &&
|
| - (cert.issuer().common_name == common_name)) {
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| // SSLCertAddedInfoBarDelegate ------------------------------------------------
|
|
|
| class SSLCertAddedInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| @@ -204,48 +186,6 @@ TabContentsSSLHelper::TabContentsSSLHelper(TabContentsWrapper* tab_contents)
|
| TabContentsSSLHelper::~TabContentsSSLHelper() {
|
| }
|
|
|
| -void TabContentsSSLHelper::SelectClientCertificate(
|
| - scoped_refptr<SSLClientAuthHandler> handler) {
|
| - net::SSLCertRequestInfo* cert_request_info = handler->cert_request_info();
|
| - GURL requesting_url("https://" + cert_request_info->host_and_port);
|
| - DCHECK(requesting_url.is_valid()) << "Invalid URL string: https://"
|
| - << cert_request_info->host_and_port;
|
| -
|
| - HostContentSettingsMap* map =
|
| - tab_contents_->profile()->GetHostContentSettingsMap();
|
| - scoped_ptr<Value> filter(map->GetWebsiteSetting(
|
| - requesting_url, requesting_url,
|
| - CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE,
|
| - std::string(), NULL));
|
| -
|
| - scoped_refptr<net::X509Certificate> selected_cert;
|
| - if (filter.get()) {
|
| - // Try to automatically select a client certificate.
|
| - if (filter->IsType(Value::TYPE_DICTIONARY)) {
|
| - DictionaryValue* filter_dict =
|
| - static_cast<DictionaryValue*>(filter.get());
|
| -
|
| - const std::vector<scoped_refptr<net::X509Certificate> >&
|
| - all_client_certs = cert_request_info->client_certs;
|
| - for (size_t i = 0; i < all_client_certs.size(); ++i) {
|
| - if (CertMatchesFilter(*all_client_certs[i], *filter_dict)) {
|
| - selected_cert = all_client_certs[i];
|
| - // Use the first certificate that is matched by the filter.
|
| - break;
|
| - }
|
| - }
|
| - } else {
|
| - NOTREACHED();
|
| - }
|
| - }
|
| -
|
| - if (selected_cert) {
|
| - handler->CertificateSelected(selected_cert);
|
| - } else {
|
| - ShowClientCertificateRequestDialog(handler);
|
| - }
|
| -}
|
| -
|
| void TabContentsSSLHelper::ShowClientCertificateRequestDialog(
|
| scoped_refptr<SSLClientAuthHandler> handler) {
|
| browser::ShowSSLClientCertificateSelector(
|
|
|