Chromium Code Reviews| Index: chrome/browser/ui/views/desktop_media_picker_views.cc |
| diff --git a/chrome/browser/ui/views/desktop_media_picker_views.cc b/chrome/browser/ui/views/desktop_media_picker_views.cc |
| index 30f5ed1a7f7fcf42f24eea8bd04a2614946544f4..d8b8a8307a5995e46dd863d0e507d5a626258527 100644 |
| --- a/chrome/browser/ui/views/desktop_media_picker_views.cc |
| +++ b/chrome/browser/ui/views/desktop_media_picker_views.cc |
| @@ -518,15 +518,20 @@ DesktopMediaPickerDialogView::DesktopMediaPickerDialogView( |
| scroll_view_->SetContents(list_view_); |
| AddChildView(scroll_view_); |
| - WebContentsModalDialogManager* web_contents_modal_dialog_manager = |
| - WebContentsModalDialogManager::FromWebContents(parent_web_contents); |
| - DCHECK(web_contents_modal_dialog_manager); |
| - WebContentsModalDialogManagerDelegate* delegate = |
| - web_contents_modal_dialog_manager->delegate(); |
| - DCHECK(delegate); |
| - views::Widget::CreateWindowAsFramelessChild( |
| - this, |
| - delegate->GetWebContentsModalDialogHost()->GetHostView()); |
| + WebContentsModalDialogManager* web_contents_modal_dialog_manager = NULL; |
| + if (parent_web_contents) { |
|
Sergey Ulanov
2014/06/03 01:27:30
nit: add comment to explain what happens here, par
|
| + web_contents_modal_dialog_manager = |
| + WebContentsModalDialogManager::FromWebContents(parent_web_contents); |
| + DCHECK(web_contents_modal_dialog_manager); |
| + WebContentsModalDialogManagerDelegate* delegate = |
| + web_contents_modal_dialog_manager->delegate(); |
| + DCHECK(delegate); |
| + views::Widget::CreateWindowAsFramelessChild( |
| + this, |
| + delegate->GetWebContentsModalDialogHost()->GetHostView()); |
| + } else { |
| + DialogDelegate::CreateDialogWidget(this, context, parent_window); |
| + } |
| // DesktopMediaList needs to know the ID of the picker window which |
| // matches the ID it gets from the OS. Depending on the OS and configuration |
| @@ -547,8 +552,12 @@ DesktopMediaPickerDialogView::DesktopMediaPickerDialogView( |
| list_view_->StartUpdating(dialog_window_id); |
| - web_contents_modal_dialog_manager->ShowModalDialog( |
| - GetWidget()->GetNativeView()); |
| + if (parent_web_contents) { |
| + web_contents_modal_dialog_manager->ShowModalDialog( |
| + GetWidget()->GetNativeView()); |
| + } else { |
| + GetWidget()->Show(); |
| + } |
| } |
| DesktopMediaPickerDialogView::~DesktopMediaPickerDialogView() {} |