summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/ui/views/javascript_app_modal_dialog_views.cc12
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;
}