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

Unified Diff: chrome/browser/chrome_content_browser_client.cc

Issue 1304143010: Plumbing SSLPrivateKey Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix rebase. Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chrome_content_browser_client.cc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 4ef4c6f439a3c43abf6ac0db48de5597071e44c3..76a34ef9bde4109b04f59318305720ad691ca0ed 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -158,6 +158,7 @@
#include "net/cookies/canonical_cookie.h"
#include "net/cookies/cookie_options.h"
#include "net/ssl/ssl_cert_request_info.h"
+#include "net/ssl/ssl_platform_key.h"
#include "ppapi/host/ppapi_host.h"
#include "storage/browser/fileapi/external_mount_points.h"
#include "ui/base/l10n/l10n_util.h"
@@ -468,6 +469,7 @@ bool HandleWebUIReverse(GURL* url, content::BrowserContext* browser_context) {
return RemoveUberHost(url);
}
+#if !defined(OS_ANDROID)
bool CertMatchesFilter(const net::X509Certificate& cert,
const base::DictionaryValue& filter) {
// TODO(markusheintz): This is the minimal required filter implementation.
@@ -485,6 +487,7 @@ bool CertMatchesFilter(const net::X509Certificate& cert,
}
return false;
}
+#endif
#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
@@ -2052,6 +2055,9 @@ void ChromeContentBrowserClient::SelectClientCertificate(
return;
}
+// Android can't support CONENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE since
+// the platform doesn't provide a list of matching certificates.
+#if !defined(OS_ANDROID)
GURL requesting_url("https://" + cert_request_info->host_and_port.ToString());
DCHECK(requesting_url.is_valid())
<< "Invalid URL string: https://"
@@ -2078,7 +2084,12 @@ void ChromeContentBrowserClient::SelectClientCertificate(
for (size_t i = 0; i < all_client_certs.size(); ++i) {
if (CertMatchesFilter(*all_client_certs[i].get(), *filter_dict)) {
// Use the first certificate that is matched by the filter.
- delegate->ContinueWithCertificate(all_client_certs[i].get());
+ // The following is not supported on Android since the client_certs
+ // list
+ // won't be populated.
+ delegate->ContinueWithCertificate(
+ all_client_certs[i].get(),
+ net::FetchClientCertPrivateKey(all_client_certs[i].get()).get());
return;
}
}
@@ -2086,6 +2097,7 @@ void ChromeContentBrowserClient::SelectClientCertificate(
NOTREACHED();
}
}
+#endif
chrome::ShowSSLClientCertificateSelector(web_contents, cert_request_info,
std::move(delegate));
« no previous file with comments | « android_webview/native/aw_contents_client_bridge_unittest.cc ('k') | chrome/browser/devtools/devtools_network_transaction.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698