| 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 4ea4b60557720f42681cfba790b5d5b6147d94d4..3edd820bc23f53c22bda70c96328b7c445feb4bc 100644
|
| --- a/chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc
|
| +++ b/chrome/browser/ui/gtk/tab_modal_confirm_dialog_gtk.cc
|
| @@ -23,7 +23,8 @@ TabModalConfirmDialog* TabModalConfirmDialog::Create(
|
| TabModalConfirmDialogGtk::TabModalConfirmDialogGtk(
|
| TabModalConfirmDialogDelegate* delegate,
|
| content::WebContents* web_contents)
|
| - : delegate_(delegate) {
|
| + : delegate_(delegate),
|
| + window_(NULL) {
|
| dialog_ = gtk_vbox_new(FALSE, ui::kContentAreaSpacing);
|
| GtkWidget* label = gtk_label_new(
|
| UTF16ToUTF8(delegate->GetMessage()).c_str());
|
| @@ -69,7 +70,8 @@ TabModalConfirmDialogGtk::TabModalConfirmDialogGtk(
|
| g_signal_connect(ok_, "clicked", G_CALLBACK(OnAcceptThunk), this);
|
| gtk_box_pack_end(GTK_BOX(buttonBox), ok_, FALSE, TRUE, 0);
|
|
|
| - delegate->set_window(new ConstrainedWindowGtk(web_contents, this));
|
| + window_ = new ConstrainedWindowGtk(web_contents, this);
|
| + delegate_->set_close_delegate(this);
|
| }
|
|
|
| GtkWidget* TabModalConfirmDialogGtk::GetWidgetRoot() {
|
| @@ -96,6 +98,10 @@ void TabModalConfirmDialogGtk::CancelTabModalDialog() {
|
| OnCancel(NULL);
|
| }
|
|
|
| +void TabModalConfirmDialogGtk::CloseDialog() {
|
| + window_->CloseWebContentsModalDialog();
|
| +}
|
| +
|
| void TabModalConfirmDialogGtk::OnAccept(GtkWidget* widget) {
|
| delegate_->Accept();
|
| }
|
|
|