| Index: chrome/browser/ui/views/constrained_window_views.cc
|
| diff --git a/chrome/browser/ui/views/constrained_window_views.cc b/chrome/browser/ui/views/constrained_window_views.cc
|
| index 2bde83cc768448f4463c391648606cdec0c6e695..7a9a3f22053a3f09d7460092725d4cdd572ccf01 100644
|
| --- a/chrome/browser/ui/views/constrained_window_views.cc
|
| +++ b/chrome/browser/ui/views/constrained_window_views.cc
|
| @@ -8,6 +8,8 @@
|
|
|
| #include "chrome/browser/ui/browser_finder.h"
|
| #include "components/web_modal/web_contents_modal_dialog_host.h"
|
| +#include "components/web_modal/web_contents_modal_dialog_manager.h"
|
| +#include "components/web_modal/web_contents_modal_dialog_manager_delegate.h"
|
| #include "ui/views/border.h"
|
| #include "ui/views/widget/widget.h"
|
| #include "ui/views/widget/widget_observer.h"
|
| @@ -118,6 +120,24 @@ void UpdateBrowserModalDialogPosition(views::Widget* widget,
|
| widget->GetRootView()->GetPreferredSize());
|
| }
|
|
|
| +views::Widget* ShowWebModalDialogViews(views::WidgetDelegate* dialog,
|
| + content::WebContents* web_contents) {
|
| + views::Widget* widget = CreateWebModalDialogViews(dialog, web_contents);
|
| + web_modal::WebContentsModalDialogManager::FromWebContents(web_contents)->
|
| + ShowModalDialog(widget->GetNativeWindow());
|
| + return widget;
|
| +}
|
| +
|
| +views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
|
| + content::WebContents* web_contents) {
|
| + DCHECK_EQ(ui::MODAL_TYPE_CHILD, dialog->GetModalType());
|
| + web_modal::WebContentsModalDialogManager* manager =
|
| + web_modal::WebContentsModalDialogManager::FromWebContents(web_contents);
|
| + const gfx::NativeWindow parent =
|
| + manager->delegate()->GetWebContentsModalDialogHost()->GetHostView();
|
| + return views::DialogDelegate::CreateDialogWidget(dialog, NULL, parent);
|
| +}
|
| +
|
| views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
|
| gfx::NativeWindow parent) {
|
| views::Widget* widget =
|
|
|