diff options
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/ui/views/javascript_app_modal_dialog_views.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/chrome/browser/ui/views/javascript_app_modal_dialog_views.cc b/chrome/browser/ui/views/javascript_app_modal_dialog_views.cc index 57d17a5..8b4a02e 100644 --- a/chrome/browser/ui/views/javascript_app_modal_dialog_views.cc +++ b/chrome/browser/ui/views/javascript_app_modal_dialog_views.cc @@ -171,6 +171,16 @@ NativeAppModalDialog* NativeAppModalDialog::CreateNativeJavaScriptPrompt( JavaScriptAppModalDialog* dialog, gfx::NativeWindow parent_window) { JavaScriptAppModalDialogViews* d = new JavaScriptAppModalDialogViews(dialog); - views::DialogDelegate::CreateDialogWidget(d, NULL, parent_window); + views::Widget* widget = + views::DialogDelegate::CreateDialogWidget(d, NULL, parent_window); + views::Widget* parent_widget = parent_window ? + views::Widget::GetWidgetForNativeWindow(parent_window) : NULL; + // Horizontally center the dialog window within the parent window's bounds. + if (widget && parent_widget) { + gfx::Rect bounds(widget->GetWindowBoundsInScreen()); + gfx::Rect parent_bounds(parent_widget->GetWindowBoundsInScreen()); + bounds.set_x(parent_bounds.CenterPoint().x() - bounds.width() / 2); + widget->SetBounds(bounds); + } return d; } |