diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-30 22:10:02 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-30 22:10:02 +0000 |
commit | a014a131a2d903d21a311635c1ec40124d739815 (patch) | |
tree | 68ea5554f2fd2b3194acb5ed721a37b14bfa44df | |
parent | 2f48d50ceae5e473d45549d4c5a9a50aa50ee48f (diff) | |
download | chromium_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.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; } |