Index: chrome/browser/ui/views/ssl_client_certificate_selector.cc |
diff --git a/chrome/browser/ui/views/ssl_client_certificate_selector.cc b/chrome/browser/ui/views/ssl_client_certificate_selector.cc |
index 08eefd9d8750aa273e6490ec0d4c303218cc6cb0..814d8bac03547a6ba859a3ba4323b553452fab03 100644 |
--- a/chrome/browser/ui/views/ssl_client_certificate_selector.cc |
+++ b/chrome/browser/ui/views/ssl_client_certificate_selector.cc |
@@ -5,13 +5,10 @@ |
#include "chrome/browser/ui/views/ssl_client_certificate_selector.h" |
#include "base/compiler_specific.h" |
-#include "base/i18n/time_formatting.h" |
#include "base/logging.h" |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/certificate_viewer.h" |
-#include "components/web_modal/web_contents_modal_dialog_host.h" |
-#include "components/web_modal/web_contents_modal_dialog_manager.h" |
-#include "components/web_modal/web_contents_modal_dialog_manager_delegate.h" |
+#include "chrome/browser/ui/views/constrained_window_views.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/web_contents.h" |
#include "grit/generated_resources.h" |
@@ -20,7 +17,6 @@ |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/models/table_model.h" |
#include "ui/base/models/table_model_observer.h" |
-#include "ui/gfx/native_widget_types.h" |
#include "ui/views/controls/button/label_button.h" |
#include "ui/views/controls/label.h" |
#include "ui/views/controls/table/table_view.h" |
@@ -33,19 +29,6 @@ |
#include "chrome/browser/ui/crypto_module_password_dialog_nss.h" |
#endif |
-using content::BrowserThread; |
-using content::WebContents; |
-using web_modal::WebContentsModalDialogManager; |
-using web_modal::WebContentsModalDialogManagerDelegate; |
- |
-namespace { |
- |
-// The dimensions of the certificate selector table view, in pixels. |
-static const int kTableViewWidth = 400; |
-static const int kTableViewHeight = 100; |
- |
-} // namespace |
- |
/////////////////////////////////////////////////////////////////////////////// |
// CertificateSelectorTableModel: |
@@ -98,14 +81,13 @@ void CertificateSelectorTableModel::SetObserver( |
// SSLClientCertificateSelector: |
SSLClientCertificateSelector::SSLClientCertificateSelector( |
- WebContents* web_contents, |
+ content::WebContents* web_contents, |
const net::HttpNetworkSession* network_session, |
net::SSLCertRequestInfo* cert_request_info, |
const chrome::SelectCertificateCallback& callback) |
: SSLClientAuthObserver(network_session, cert_request_info, callback), |
model_(new CertificateSelectorTableModel(cert_request_info)), |
web_contents_(web_contents), |
- window_(NULL), |
table_(NULL), |
view_cert_button_(NULL) { |
DVLOG(1) << __FUNCTION__; |
@@ -137,6 +119,10 @@ void SSLClientCertificateSelector::Init() { |
layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
+ // The dimensions of the certificate selector table view, in pixels. |
+ static const int kTableViewWidth = 400; |
+ static const int kTableViewHeight = 100; |
+ |
CreateCertTable(); |
layout->StartRow(1, column_set_id); |
layout->AddView(table_->CreateParentIfNecessary(), 1, 1, |
@@ -147,15 +133,7 @@ void SSLClientCertificateSelector::Init() { |
StartObserving(); |
- WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
- WebContentsModalDialogManager::FromWebContents(web_contents_); |
- WebContentsModalDialogManagerDelegate* modal_delegate = |
- web_contents_modal_dialog_manager->delegate(); |
- DCHECK(modal_delegate); |
- window_ = views::Widget::CreateWindowAsFramelessChild( |
- this, modal_delegate->GetWebContentsModalDialogHost()->GetHostView()); |
- web_contents_modal_dialog_manager->ShowModalDialog( |
- window_->GetNativeView()); |
+ ShowWebModalDialogViews(this, web_contents_); |
// Select the first row automatically. This must be done after the dialog has |
// been created. |
@@ -165,8 +143,7 @@ void SSLClientCertificateSelector::Init() { |
net::X509Certificate* SSLClientCertificateSelector::GetSelectedCert() const { |
int selected = table_->FirstSelectedRow(); |
if (selected >= 0 && |
- selected < static_cast<int>( |
- cert_request_info()->client_certs.size())) |
+ selected < static_cast<int>(cert_request_info()->client_certs.size())) |
return cert_request_info()->client_certs[selected].get(); |
return NULL; |
} |
@@ -176,8 +153,7 @@ net::X509Certificate* SSLClientCertificateSelector::GetSelectedCert() const { |
void SSLClientCertificateSelector::OnCertSelectedByNotification() { |
DVLOG(1) << __FUNCTION__; |
- DCHECK(window_); |
- window_->Close(); |
+ GetWidget()->Close(); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -207,7 +183,6 @@ bool SSLClientCertificateSelector::Cancel() { |
DVLOG(1) << __FUNCTION__; |
StopObserving(); |
CertificateSelected(NULL); |
- |
return true; |
} |
@@ -224,7 +199,7 @@ bool SSLClientCertificateSelector::Accept() { |
cert, |
chrome::kCryptoModulePasswordClientAuth, |
cert_request_info()->host_and_port, |
- window_->GetNativeView(), |
+ GetWidget()->GetNativeView(), |
base::Bind(&SSLClientCertificateSelector::Unlocked, |
base::Unretained(this), |
cert)); |
@@ -250,11 +225,7 @@ views::View* SSLClientCertificateSelector::CreateExtraView() { |
} |
ui::ModalType SSLClientCertificateSelector::GetModalType() const { |
-#if defined(USE_ASH) |
return ui::MODAL_TYPE_CHILD; |
-#else |
- return views::WidgetDelegate::GetModalType(); |
-#endif |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -279,7 +250,7 @@ void SSLClientCertificateSelector::OnSelectionChanged() { |
void SSLClientCertificateSelector::OnDoubleClick() { |
if (Accept()) |
- window_->Close(); |
+ GetWidget()->Close(); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -288,9 +259,7 @@ void SSLClientCertificateSelector::OnDoubleClick() { |
void SSLClientCertificateSelector::CreateCertTable() { |
std::vector<ui::TableColumn> columns; |
columns.push_back(ui::TableColumn()); |
- table_ = new views::TableView(model_.get(), |
- columns, |
- views::TEXT_ONLY, |
+ table_ = new views::TableView(model_.get(), columns, views::TEXT_ONLY, |
true /* single_selection */); |
table_->SetObserver(this); |
} |
@@ -298,7 +267,7 @@ void SSLClientCertificateSelector::CreateCertTable() { |
void SSLClientCertificateSelector::Unlocked(net::X509Certificate* cert) { |
DVLOG(1) << __FUNCTION__; |
CertificateSelected(cert); |
- window_->Close(); |
+ GetWidget()->Close(); |
} |
namespace chrome { |
@@ -309,7 +278,7 @@ void ShowSSLClientCertificateSelector( |
net::SSLCertRequestInfo* cert_request_info, |
const chrome::SelectCertificateCallback& callback) { |
DVLOG(1) << __FUNCTION__ << " " << contents; |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
(new SSLClientCertificateSelector( |
contents, network_session, cert_request_info, callback))->Init(); |
} |