diff options
7 files changed, 32 insertions, 28 deletions
diff --git a/chrome/browser/ssl_client_certificate_selector.h b/chrome/browser/ssl_client_certificate_selector.h index eece21d..3f199ca 100644 --- a/chrome/browser/ssl_client_certificate_selector.h +++ b/chrome/browser/ssl_client_certificate_selector.h @@ -7,7 +7,7 @@ #pragma once class SSLClientAuthHandler; -class TabContents; +class TabContentsWrapper; namespace net { class SSLCertRequestInfo; @@ -21,7 +21,7 @@ namespace browser { // when the dialog closes in call cases; if the user cancels the dialog, we call // with a NULL certificate. void ShowSSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate); diff --git a/chrome/browser/tab_contents/tab_contents_ssl_helper.cc b/chrome/browser/tab_contents/tab_contents_ssl_helper.cc index 61352a8..f2df39d 100644 --- a/chrome/browser/tab_contents/tab_contents_ssl_helper.cc +++ b/chrome/browser/tab_contents/tab_contents_ssl_helper.cc @@ -243,7 +243,7 @@ void TabContentsSSLHelper::SelectClientCertificate( void TabContentsSSLHelper::ShowClientCertificateRequestDialog( scoped_refptr<SSLClientAuthHandler> handler) { browser::ShowSSLClientCertificateSelector( - tab_contents_->tab_contents(), handler->cert_request_info(), handler); + tab_contents_, handler->cert_request_info(), handler); } void TabContentsSSLHelper::OnVerifyClientCertificateError( diff --git a/chrome/browser/ui/cocoa/ssl_client_certificate_selector.mm b/chrome/browser/ui/cocoa/ssl_client_certificate_selector.mm index 4cb7eff..ea0a257 100644 --- a/chrome/browser/ui/cocoa/ssl_client_certificate_selector.mm +++ b/chrome/browser/ui/cocoa/ssl_client_certificate_selector.mm @@ -15,6 +15,7 @@ #include "base/sys_string_conversions.h" #include "base/utf_string_conversions.h" #import "chrome/browser/ui/cocoa/constrained_window_mac.h" +#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" #include "content/browser/browser_thread.h" #include "content/browser/ssl/ssl_client_auth_handler.h" #include "content/browser/tab_contents/tab_contents.h" @@ -88,13 +89,13 @@ class ConstrainedSFChooseIdentityPanel - (id)initWithHandler:(SSLClientAuthHandler*)handler certRequestInfo:(net::SSLCertRequestInfo*)certRequestInfo; -- (void)displayDialog:(TabContents*)parent; +- (void)displayDialog:(TabContentsWrapper*)wrapper; @end namespace browser { void ShowSSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); @@ -102,7 +103,7 @@ void ShowSSLClientCertificateSelector( [[[SSLClientCertificateSelectorCocoa alloc] initWithHandler:delegate certRequestInfo:cert_request_info] autorelease]; - [selector displayDialog:parent]; + [selector displayDialog:wrapper]; } } // namespace browser @@ -148,7 +149,7 @@ void ShowSSLClientCertificateSelector( [panel autorelease]; } -- (void)displayDialog:(TabContents*)parent { +- (void)displayDialog:(TabContentsWrapper*)wrapper { DCHECK(!window_); // Create an array of CFIdentityRefs for the certificates: size_t numCerts = certRequestInfo_->client_certs.size(); @@ -182,7 +183,7 @@ void ShowSSLClientCertificateSelector( } window_ = new ConstrainedWindowMac( - parent, + wrapper->tab_contents(), new ConstrainedSFChooseIdentityPanel( panel, self, @selector(sheetDidEnd:returnCode:context:), diff --git a/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc b/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc index 11e9b7d..7d50203 100644 --- a/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc +++ b/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc @@ -16,6 +16,7 @@ #include "chrome/browser/ui/crypto_module_password_dialog.h" #include "chrome/browser/ui/gtk/constrained_window_gtk.h" #include "chrome/browser/ui/gtk/gtk_util.h" +#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" #include "chrome/common/net/x509_certificate_model.h" #include "content/browser/browser_thread.h" #include "content/browser/ssl/ssl_client_auth_handler.h" @@ -41,7 +42,7 @@ class SSLClientCertificateSelector : public SSLClientAuthObserver, public ConstrainedWindowGtkDelegate { public: explicit SSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* parent, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate); ~SSLClientCertificateSelector(); @@ -90,20 +91,20 @@ class SSLClientCertificateSelector : public SSLClientAuthObserver, // Hold on to the select button to focus it. GtkWidget* select_button_; - TabContents* parent_; + TabContentsWrapper* wrapper_; ConstrainedWindow* window_; DISALLOW_COPY_AND_ASSIGN(SSLClientCertificateSelector); }; SSLClientCertificateSelector::SSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate) : SSLClientAuthObserver(cert_request_info, delegate), cert_request_info_(cert_request_info), delegate_(delegate), - parent_(parent), + wrapper_(wrapper), window_(NULL) { root_widget_.Own(gtk_vbox_new(FALSE, ui::kControlSpacing)); @@ -196,7 +197,7 @@ SSLClientCertificateSelector::~SSLClientCertificateSelector() { void SSLClientCertificateSelector::Show() { DCHECK(!window_); - window_ = new ConstrainedWindowGtk(parent_, this); + window_ = new ConstrainedWindowGtk(wrapper_->tab_contents(), this); } void SSLClientCertificateSelector::OnCertSelectedByNotification() { @@ -392,11 +393,11 @@ void SSLClientCertificateSelector::OnPromptShown(GtkWidget* widget, namespace browser { void ShowSSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - (new SSLClientCertificateSelector(parent, + (new SSLClientCertificateSelector(wrapper, cert_request_info, delegate))->Show(); } diff --git a/chrome/browser/ui/views/ssl_client_certificate_selector.cc b/chrome/browser/ui/views/ssl_client_certificate_selector.cc index ddb5e5f..e80f8a6 100644 --- a/chrome/browser/ui/views/ssl_client_certificate_selector.cc +++ b/chrome/browser/ui/views/ssl_client_certificate_selector.cc @@ -9,6 +9,7 @@ #include "base/logging.h" #include "base/utf_string_conversions.h" #include "chrome/browser/certificate_viewer.h" +#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" #include "chrome/browser/ui/views/constrained_window_views.h" #include "content/browser/browser_thread.h" #include "content/browser/tab_contents/tab_contents.h" @@ -83,14 +84,14 @@ void CertificateSelectorTableModel::SetObserver( // SSLClientCertificateSelector: SSLClientCertificateSelector::SSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate) : SSLClientAuthObserver(cert_request_info, delegate), cert_request_info_(cert_request_info), delegate_(delegate), model_(new CertificateSelectorTableModel(cert_request_info)), - tab_contents_(parent), + wrapper_(wrapper), window_(NULL) { DVLOG(1) << __FUNCTION__; } @@ -131,7 +132,7 @@ void SSLClientCertificateSelector::Init() { StartObserving(); - window_ = new ConstrainedWindowViews(tab_contents_, this); + window_ = new ConstrainedWindowViews(wrapper_->tab_contents(), this); // Select the first row automatically. This must be done after the dialog has // been created. @@ -225,7 +226,8 @@ void SSLClientCertificateSelector::ButtonPressed( if (sender == view_cert_button_) { net::X509Certificate* cert = GetSelectedCert(); if (cert) - ShowCertificateViewer(tab_contents_->GetDialogRootWindow(), cert); + ShowCertificateViewer(wrapper_->tab_contents()->GetDialogRootWindow(), + cert); } } @@ -280,12 +282,12 @@ void SSLClientCertificateSelector::CreateViewCertButton() { namespace browser { void ShowSSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate) { - DVLOG(1) << __FUNCTION__ << " " << parent; + DVLOG(1) << __FUNCTION__ << " " << wrapper; DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - (new SSLClientCertificateSelector(parent, + (new SSLClientCertificateSelector(wrapper, cert_request_info, delegate))->Init(); } diff --git a/chrome/browser/ui/views/ssl_client_certificate_selector.h b/chrome/browser/ui/views/ssl_client_certificate_selector.h index 9bcd557..c6e4d1b 100644 --- a/chrome/browser/ui/views/ssl_client_certificate_selector.h +++ b/chrome/browser/ui/views/ssl_client_certificate_selector.h @@ -30,7 +30,7 @@ class TextButton; } class CertificateSelectorTableModel; -class TabContents; +class TabContentsWrapper; class SSLClientCertificateSelector : public SSLClientAuthObserver, public views::DialogDelegateView, @@ -38,7 +38,7 @@ class SSLClientCertificateSelector : public SSLClientAuthObserver, public views::TableViewObserver { public: SSLClientCertificateSelector( - TabContents* parent, + TabContentsWrapper* wrapper, net::SSLCertRequestInfo* cert_request_info, SSLClientAuthHandler* delegate); virtual ~SSLClientCertificateSelector(); @@ -80,7 +80,7 @@ class SSLClientCertificateSelector : public SSLClientAuthObserver, scoped_ptr<CertificateSelectorTableModel> model_; - TabContents* tab_contents_; + TabContentsWrapper* wrapper_; ConstrainedWindow* window_; views::TableView* table_; diff --git a/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc b/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc index 40212e7..53c0c83 100644 --- a/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc +++ b/chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc @@ -45,7 +45,7 @@ class SSLClientCertificateSelectorTest : public InProcessBrowserTest { ui_test_utils::WaitForLoadStop(browser()->GetSelectedTabContents()); selector_ = new SSLClientCertificateSelector( - browser()->GetSelectedTabContents(), + browser()->GetSelectedTabContentsWrapper(), cert_request_info_, auth_handler_); selector_->Init(); @@ -102,12 +102,12 @@ class SSLClientCertificateSelectorMultiTabTest ui_test_utils::WaitForLoadStop(browser()->GetTabContentsAt(2)); selector_1_ = new SSLClientCertificateSelector( - browser()->GetTabContentsAt(1), + browser()->GetTabContentsWrapperAt(1), cert_request_info_1_, auth_handler_1_); selector_1_->Init(); selector_2_ = new SSLClientCertificateSelector( - browser()->GetTabContentsAt(2), + browser()->GetTabContentsWrapperAt(2), cert_request_info_2_, auth_handler_2_); selector_2_->Init(); |