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..1cbaec863650dcd59cf7255b99389b0247481d93 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,12 @@ 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() { |