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 9894085a151844d9710fa30b7e3c4bbe1dbb68b1..7727ff6f680e7c47c549d556d80442abd246b21c 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); |