Index: chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.mm |
diff --git a/chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.mm b/chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.mm |
index 6b1d507a741cf34cb2fa91fc206063b626426c24..4bab88226e16389f4b36d03cce9e126648d0da7f 100644 |
--- a/chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.mm |
+++ b/chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.mm |
@@ -58,8 +58,10 @@ void SingleWebContentsDialogManagerCocoa::Close() { |
[[ConstrainedWindowSheetController controllerForSheet:sheet_] |
closeSheet:sheet_]; |
client_->set_manager(nullptr); |
+ bool dialog_was_open = client_->DialogWasShown(); |
client_->OnDialogClosing(); // |client_| might delete itself here. |
- delegate_->WillClose(dialog()); // Deletes |this|. |
+ if (dialog_was_open) |
+ delegate_->WillClose(dialog()); // Deletes |this|. |
} |
void SingleWebContentsDialogManagerCocoa::Focus() { |