summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-30 22:10:02 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-30 22:10:02 +0000
commita014a131a2d903d21a311635c1ec40124d739815 (patch)
tree68ea5554f2fd2b3194acb5ed721a37b14bfa44df
parent2f48d50ceae5e473d45549d4c5a9a50aa50ee48f (diff)
downloadchromium_src-a014a131a2d903d21a311635c1ec40124d739815.zip
chromium_src-a014a131a2d903d21a311635c1ec40124d739815.tar.gz
chromium_src-a014a131a2d903d21a311635c1ec40124d739815.tar.bz2
Center wide new-style Views JavaScript dialogs.
New-style dialogs accommodate long titles (unlike old style). Horizontally center JS dialogs with long domain titles. See before/after pics at http://crbug.com/242284#c17 BUG=242284,166075 TEST=javascript:alert("Hello") from a long domain, like http://www.thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/ R=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/16172006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203240 0039d316-1c4b-4281-b951-d872f2087c98
-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;
}