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

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

Issue 12851002: Remove ConstrainedWindowGtkDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move SetBackgroundColor() Created 7 years, 9 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/gtk/ssl_client_certificate_selector.cc
diff --git a/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc b/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc
index 1e5399114f6f8e34eaf1493eec85b414adc2ee82..37b2f7ca27219fe25cd8358d7208838fd447940d 100644
--- a/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc
+++ b/chrome/browser/ui/gtk/ssl_client_certificate_selector.cc
@@ -43,8 +43,7 @@ enum {
///////////////////////////////////////////////////////////////////////////////
// SSLClientCertificateSelector
-class SSLClientCertificateSelector : public SSLClientAuthObserver,
- public ConstrainedWindowGtkDelegate {
+class SSLClientCertificateSelector : public SSLClientAuthObserver {
public:
explicit SSLClientCertificateSelector(
WebContents* parent,
@@ -58,11 +57,6 @@ class SSLClientCertificateSelector : public SSLClientAuthObserver,
// SSLClientAuthObserver implementation:
virtual void OnCertSelectedByNotification() OVERRIDE;
- // ConstrainedWindowGtkDelegate implementation:
- virtual GtkWidget* GetWidgetRoot() OVERRIDE { return root_widget_.get(); }
- virtual GtkWidget* GetFocusWidget() OVERRIDE;
- virtual void DeleteDelegate() OVERRIDE;
-
private:
void PopulateCerts();
@@ -83,6 +77,7 @@ class SSLClientCertificateSelector : public SSLClientAuthObserver,
CHROMEGTK_CALLBACK_0(SSLClientCertificateSelector, void, OnOkClicked);
CHROMEGTK_CALLBACK_1(SSLClientCertificateSelector, void, OnPromptShown,
GtkWidget*);
+ CHROMEGTK_CALLBACK_0(SSLClientCertificateSelector, void, OnDestroy);
std::vector<std::string> details_strings_;
@@ -108,6 +103,10 @@ SSLClientCertificateSelector::SSLClientCertificateSelector(
web_contents_(web_contents),
window_(NULL) {
root_widget_.Own(gtk_vbox_new(FALSE, ui::kControlSpacing));
+ g_signal_connect(root_widget_.get(),
+ "destroy",
+ G_CALLBACK(OnDestroyThunk),
+ this);
GtkWidget* site_vbox = gtk_vbox_new(FALSE, ui::kControlSpacing);
gtk_box_pack_start(GTK_BOX(root_widget_.get()), site_vbox,
@@ -198,7 +197,9 @@ SSLClientCertificateSelector::~SSLClientCertificateSelector() {
void SSLClientCertificateSelector::Show() {
DCHECK(!window_);
- window_ = CreateWebContentsModalDialogGtk(web_contents_, this);
+ window_ = CreateWebContentsModalDialogGtk(web_contents_,
+ root_widget_.get(),
+ select_button_);
WebContentsModalDialogManager* web_contents_modal_dialog_manager =
WebContentsModalDialogManager::FromWebContents(web_contents_);
@@ -210,17 +211,6 @@ void SSLClientCertificateSelector::OnCertSelectedByNotification() {
gtk_widget_destroy(window_);
}
-GtkWidget* SSLClientCertificateSelector::GetFocusWidget() {
- return select_button_;
-}
-
-void SSLClientCertificateSelector::DeleteDelegate() {
- // The dialog was closed by escape key.
- StopObserving();
- CertificateSelected(NULL);
- delete this;
-}
-
void SSLClientCertificateSelector::PopulateCerts() {
std::vector<std::string> nicknames;
x509_certificate_model::GetNicknameStringsFromCertList(
@@ -385,6 +375,13 @@ void SSLClientCertificateSelector::OnPromptShown(GtkWidget* widget,
gtk_widget_grab_default(select_button_);
}
+void SSLClientCertificateSelector::OnDestroy(GtkWidget* widget) {
+ // The dialog was closed by escape key.
+ StopObserving();
+ CertificateSelected(NULL);
+ delete this;
+}
+
} // namespace
namespace chrome {
« no previous file with comments | « chrome/browser/ui/gtk/login_prompt_gtk.cc ('k') | chrome/browser/ui/gtk/tab_contents/chrome_web_contents_view_delegate_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698