| Index: components/constrained_window/constrained_window_views.cc
|
| diff --git a/components/constrained_window/constrained_window_views.cc b/components/constrained_window/constrained_window_views.cc
|
| index def5232fc9782603559d380c6499264f1c8ac6b5..bfb7f2ccc48254705713abfc060fc831c7bf83dd 100644
|
| --- a/components/constrained_window/constrained_window_views.cc
|
| +++ b/components/constrained_window/constrained_window_views.cc
|
| @@ -141,11 +141,29 @@ views::Widget* ShowWebModalDialogViews(
|
| content::WebContents* web_contents =
|
| guest_view::GuestViewBase::GetTopLevelWebContents(initiator_web_contents);
|
| views::Widget* widget = CreateWebModalDialogViews(dialog, web_contents);
|
| - web_modal::WebContentsModalDialogManager::FromWebContents(web_contents)
|
| - ->ShowModalDialog(widget->GetNativeWindow());
|
| + web_modal::WebContentsModalDialogManager* manager =
|
| + web_modal::WebContentsModalDialogManager::FromWebContents(web_contents);
|
| + manager->ShowModalDialog(widget->GetNativeWindow());
|
| return widget;
|
| }
|
|
|
| +#if defined(OS_MACOSX)
|
| +views::Widget* ShowWebModalDialogWithOverlayViews(
|
| + views::WidgetDelegate* dialog,
|
| + content::WebContents* initiator_web_contents) {
|
| + DCHECK(constrained_window_views_client);
|
| + // For embedded WebContents, use the embedder's WebContents for constrained
|
| + // window.
|
| + content::WebContents* web_contents =
|
| + guest_view::GuestViewBase::GetTopLevelWebContents(initiator_web_contents);
|
| + views::Widget* widget = CreateWebModalDialogViews(dialog, web_contents);
|
| + web_modal::WebContentsModalDialogManager* manager =
|
| + web_modal::WebContentsModalDialogManager::FromWebContents(web_contents);
|
| + manager->ShowModalDialogWithOverlay(widget->GetNativeWindow());
|
| + return widget;
|
| +}
|
| +#endif
|
| +
|
| views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
|
| content::WebContents* web_contents) {
|
| DCHECK_EQ(ui::MODAL_TYPE_CHILD, dialog->GetModalType());
|
|
|