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

Unified Diff: chrome/browser/ui/views/ssl_client_certificate_selector.cc

Issue 9384014: Remove knowledge about SSLClientAuthHandler from chrome. Instead a callback is given to the embed... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix aura Created 8 years, 10 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/ui/views/ssl_client_certificate_selector.cc
===================================================================
--- chrome/browser/ui/views/ssl_client_certificate_selector.cc (revision 121323)
+++ chrome/browser/ui/views/ssl_client_certificate_selector.cc (working copy)
@@ -15,6 +15,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view.h"
#include "grit/generated_resources.h"
+#include "net/base/ssl_cert_request_info.h"
#include "net/base/x509_certificate.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/table_model.h"
@@ -88,11 +89,10 @@
SSLClientCertificateSelector::SSLClientCertificateSelector(
TabContentsWrapper* wrapper,
+ const net::HttpNetworkSession* network_session,
net::SSLCertRequestInfo* cert_request_info,
- SSLClientAuthHandler* delegate)
- : SSLClientAuthObserver(cert_request_info, delegate),
- cert_request_info_(cert_request_info),
- delegate_(delegate),
+ const base::Callback<void(net::X509Certificate*)>& callback)
+ : SSLClientAuthObserver(network_session, cert_request_info, callback),
model_(new CertificateSelectorTableModel(cert_request_info)),
wrapper_(wrapper),
window_(NULL),
@@ -119,7 +119,7 @@
layout->StartRow(0, column_set_id);
string16 text = l10n_util::GetStringFUTF16(
IDS_CLIENT_CERT_DIALOG_TEXT,
- ASCIIToUTF16(cert_request_info_->host_and_port));
+ ASCIIToUTF16(cert_request_info()->host_and_port));
views::Label* label = new views::Label(text);
label->SetMultiLine(true);
label->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
@@ -151,8 +151,8 @@
int selected = table_->FirstSelectedRow();
if (selected >= 0 &&
selected < static_cast<int>(
- cert_request_info_->client_certs.size()))
- return cert_request_info_->client_certs[selected];
+ cert_request_info()->client_certs.size()))
+ return cert_request_info()->client_certs[selected];
return NULL;
}
@@ -161,7 +161,6 @@
void SSLClientCertificateSelector::OnCertSelectedByNotification() {
DVLOG(1) << __FUNCTION__;
- delegate_ = NULL;
DCHECK(window_);
window_->CloseConstrainedWindow();
}
@@ -192,10 +191,7 @@
bool SSLClientCertificateSelector::Cancel() {
DVLOG(1) << __FUNCTION__;
StopObserving();
- if (delegate_) {
- delegate_->CertificateSelected(NULL);
- delegate_ = NULL;
- }
+ CertificateSelected(NULL);
return true;
}
@@ -205,9 +201,7 @@
net::X509Certificate* cert = GetSelectedCert();
if (cert) {
StopObserving();
- delegate_->CertificateSelected(GetSelectedCert());
- delegate_ = NULL;
-
+ CertificateSelected(cert);
return true;
}
@@ -291,13 +285,13 @@
void ShowNativeSSLClientCertificateSelector(
TabContentsWrapper* wrapper,
+ const net::HttpNetworkSession* network_session,
net::SSLCertRequestInfo* cert_request_info,
- SSLClientAuthHandler* delegate) {
+ const base::Callback<void(net::X509Certificate*)>& callback) {
DVLOG(1) << __FUNCTION__ << " " << wrapper;
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- (new SSLClientCertificateSelector(wrapper,
- cert_request_info,
- delegate))->Init();
+ (new SSLClientCertificateSelector(
+ wrapper, network_session, cert_request_info, callback))->Init();
}
#if !defined(USE_NSS) && !defined(USE_OPENSSL)
@@ -305,9 +299,11 @@
// under these conditions. Add stub implementation for the required method.
void ShowSSLClientCertificateSelector(
TabContentsWrapper* wrapper,
+ const net::HttpNetworkSession* network_session,
net::SSLCertRequestInfo* cert_request_info,
- SSLClientAuthHandler* delegate) {
- ShowNativeSSLClientCertificateSelector(wrapper, cert_request_info, delegate);
+ const base::Callback<void(net::X509Certificate*)>& callback) {
+ ShowNativeSSLClientCertificateSelector(
+ wrapper, network_session, cert_request_info, callback);
}
#endif

Powered by Google App Engine
This is Rietveld 408576698