| Index: chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| index c0aa06be491d0de019213de2572a25e1411239ce..4df3304d5bdc81228de507edac19e255e6c05efc 100644
|
| --- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| +++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
|
| @@ -81,5 +81,12 @@ bool ConstrainedWindowMac::DialogWasShown() {
|
|
|
| WebContentsModalDialogManager* ConstrainedWindowMac::GetDialogManager() {
|
| DCHECK(web_contents_);
|
| - return WebContentsModalDialogManager::FromWebContents(web_contents_);
|
| + WebContentsModalDialogManager* dialog_manager =
|
| + WebContentsModalDialogManager::FromWebContents(web_contents_);
|
| + // If WebContentsModalDialogManager::CreateForWebContents(web_contents_) was
|
| + // never called, then the manager will be null. E.g., for browser tabs,
|
| + // TabHelpers::AttachTabHelpers() calls CreateForWebContents(). It is invalid
|
| + // to show a dialog on some kinds of WebContents. Crash cleanly in that case.
|
| + CHECK(dialog_manager);
|
| + return dialog_manager;
|
| }
|
|
|