Index: chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.cc |
diff --git a/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.cc b/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.cc |
index f407b23f5274a50e88e9cb94223430fe1b67d6ee..a2b9f4d102357a5c3546abeaa4879a39fa6bb019 100644 |
--- a/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.cc |
+++ b/chrome/browser/ui/views/native_web_contents_modal_dialog_manager_views.cc |
@@ -97,10 +97,7 @@ void NativeWebContentsModalDialogManagerViews::Show() { |
widget->GetNativeWindow()->parent())); |
} |
#endif |
- // Host may be NULL during tab drag on Views/Win32. |
- if (host_) |
- constrained_window::UpdateWebContentsModalDialogPosition(widget, host_); |
- widget->Show(); |
+ ShowWidget(widget); |
Focus(); |
#if defined(USE_AURA) |
@@ -118,7 +115,7 @@ void NativeWebContentsModalDialogManagerViews::Hide() { |
suspend.reset(new wm::SuspendChildWindowVisibilityAnimations( |
widget->GetNativeWindow()->parent())); |
#endif |
- widget->Hide(); |
+ HideWidget(widget); |
} |
void NativeWebContentsModalDialogManagerViews::Close() { |
@@ -193,6 +190,24 @@ gfx::NativeWindow NativeWebContentsModalDialogManagerViews::dialog() { |
return dialog_; |
} |
+web_modal::SingleWebContentsDialogManagerDelegate* |
+NativeWebContentsModalDialogManagerViews::native_delegate() { |
+ return native_delegate_; |
+} |
+ |
+void NativeWebContentsModalDialogManagerViews::ShowWidget( |
+ views::Widget* widget) { |
+ // |host_| may be NULL during tab drag on Views/Win32. |
+ if (host_) |
+ constrained_window::UpdateWebContentsModalDialogPosition(widget, host_); |
+ widget->Show(); |
+} |
+ |
+void NativeWebContentsModalDialogManagerViews::HideWidget( |
+ views::Widget* widget) { |
+ widget->Hide(); |
+} |
+ |
views::Widget* NativeWebContentsModalDialogManagerViews::GetWidget( |
gfx::NativeWindow dialog) { |
views::Widget* widget = views::Widget::GetWidgetForNativeWindow(dialog); |