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 dd4ada83a5f952a486221259055380cdeb7416cd..3e519408b8a80e8e963ae9e332ac9d2337efc93b 100644 |
--- a/components/constrained_window/constrained_window_views.cc |
+++ b/components/constrained_window/constrained_window_views.cc |
@@ -162,6 +162,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, |
views::DialogDelegate::CreateDialogWidget(dialog, NULL, parent); |
if (!dialog->UseNewStyleForThisDialog()) |
return widget; |
+ |
DCHECK(constrained_window_views_client); |
ModalDialogHost* host = constrained_window_views_client-> |
GetModalDialogHost(parent); |
@@ -175,4 +176,21 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, |
return widget; |
} |
+views::Widget* CreateModalDialogViews(views::DialogDelegate* dialog, |
+ web_modal::ModalDialogHost* host) { |
+ DCHECK(dialog->UseNewStyleForThisDialog()); |
+ DCHECK(host); |
+ DCHECK_NE(ui::MODAL_TYPE_CHILD, dialog->GetModalType()); |
+ DCHECK_NE(ui::MODAL_TYPE_NONE, dialog->GetModalType()); |
+ |
+ views::Widget* widget = views::DialogDelegate::CreateDialogWidget( |
+ dialog, NULL, host->GetHostView()); |
+ |
+ ModalDialogHostObserver* dialog_host_observer = |
+ new WidgetModalDialogHostObserverViews( |
+ host, widget, kWidgetModalDialogHostObserverViewsKey); |
+ dialog_host_observer->OnPositionRequiresUpdate(); |
+ return widget; |
+} |
+ |
} // namespace constrained window |