Index: chrome/browser/ui/views/chrome_web_dialog_view.cc |
diff --git a/chrome/browser/ui/views/chrome_web_dialog_view.cc b/chrome/browser/ui/views/chrome_web_dialog_view.cc |
index cc0a917cf032a5e1433809e60c4cce308b057ee1..c73f6eafe05706917ad25cb37dbe583c12fa0f23 100644 |
--- a/chrome/browser/ui/views/chrome_web_dialog_view.cc |
+++ b/chrome/browser/ui/views/chrome_web_dialog_view.cc |
@@ -13,9 +13,21 @@ namespace chrome { |
gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent, |
content::BrowserContext* context, |
ui::WebDialogDelegate* delegate) { |
- views::Widget* widget = views::Widget::CreateWindowWithParent( |
- new views::WebDialogView(context, delegate, new ChromeWebContentsHandler), |
- parent); |
+ views::Widget* widget = NULL; |
+ if (parent) { |
+ widget = views::Widget::CreateWindowWithParent( |
+ new views::WebDialogView(context, |
+ delegate, |
+ new ChromeWebContentsHandler), |
+ parent); |
+ } else { |
+ // We shouldn't be called with a NULL parent, but sometimes are. |
+ widget = views::Widget::CreateWindow( |
Ben Goodger (Google)
2013/01/15 18:19:52
This is confusing at first glance due to similarit
|
+ new views::WebDialogView(context, |
+ delegate, |
+ new ChromeWebContentsHandler)); |
+ } |
+ |
widget->Show(); |
return widget->GetNativeWindow(); |
} |