Index: chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc |
diff --git a/chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc b/chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc |
index 6b214ae4efb3fedaa1bac1f8df05ca3d2ff33950..55c70a7f4494f2c79ef0867156c74f4f8d94120f 100644 |
--- a/chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc |
+++ b/chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc |
@@ -71,7 +71,9 @@ TabModalConfirmDialogGtk::TabModalConfirmDialogGtk( |
g_signal_connect(ok_, "clicked", G_CALLBACK(OnAcceptThunk), this); |
gtk_box_pack_end(GTK_BOX(buttonBox), ok_, FALSE, TRUE, 0); |
- window_ = CreateWebContentsModalDialogGtk(web_contents, this); |
+ g_signal_connect(dialog_, "destroy", G_CALLBACK(OnDestroyThunk), this); |
+ |
+ window_ = CreateWebContentsModalDialogGtk(web_contents, dialog_, cancel_); |
delegate_->set_close_delegate(this); |
WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
@@ -79,18 +81,6 @@ TabModalConfirmDialogGtk::TabModalConfirmDialogGtk( |
web_contents_modal_dialog_manager->ShowDialog(window_); |
} |
-GtkWidget* TabModalConfirmDialogGtk::GetWidgetRoot() { |
- return dialog_; |
-} |
- |
-GtkWidget* TabModalConfirmDialogGtk::GetFocusWidget() { |
- return cancel_; |
-} |
- |
-void TabModalConfirmDialogGtk::DeleteDelegate() { |
- delete this; |
-} |
- |
TabModalConfirmDialogGtk::~TabModalConfirmDialogGtk() { |
gtk_widget_destroy(dialog_); |
} |
@@ -114,3 +104,7 @@ void TabModalConfirmDialogGtk::OnAccept(GtkWidget* widget) { |
void TabModalConfirmDialogGtk::OnCancel(GtkWidget* widget) { |
delegate_->Cancel(); |
} |
+ |
+void TabModalConfirmDialogGtk::OnDestroy(GtkWidget* widget) { |
+ delete this; |
+} |