| Index: chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
|
| diff --git a/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm b/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
|
| index bdca853ebcf2ab6c9a6954bd61baca1fdf8d3a91..40a949ae1bdad0802c9ec1fdec1832e8913e24d5 100644
|
| --- a/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
|
| +++ b/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
|
| @@ -57,7 +57,8 @@ TabModalConfirmDialog* TabModalConfirmDialog::Create(
|
| TabModalConfirmDialogMac::TabModalConfirmDialogMac(
|
| TabModalConfirmDialogDelegate* delegate,
|
| content::WebContents* web_contents)
|
| - : delegate_(delegate) {
|
| + : closing_(false),
|
| + delegate_(delegate) {
|
| bridge_.reset([[TabModalConfirmDialogMacBridge alloc]
|
| initWithDelegate:delegate]);
|
|
|
| @@ -103,10 +104,16 @@ void TabModalConfirmDialogMac::CancelTabModalDialog() {
|
| }
|
|
|
| void TabModalConfirmDialogMac::CloseDialog() {
|
| - window_->CloseWebContentsModalDialog();
|
| + if (!closing_) {
|
| + closing_ = true;
|
| + window_->CloseWebContentsModalDialog();
|
| + }
|
| }
|
|
|
| void TabModalConfirmDialogMac::OnConstrainedWindowClosed(
|
| ConstrainedWindowMac* window) {
|
| + // Provide a disposition in case the dialog was closed without accepting or
|
| + // cancelling.
|
| + delegate_->Close();
|
| delete this;
|
| }
|
|
|