Index: chrome/browser/ui/views/tab_modal_confirm_dialog_views.cc |
diff --git a/chrome/browser/ui/views/tab_modal_confirm_dialog_views.cc b/chrome/browser/ui/views/tab_modal_confirm_dialog_views.cc |
index b0aa4e31e5176cc28ce0d1aec696fdf29550916a..1538a9a85f6945de2a84f26d5d45295328c70d76 100644 |
--- a/chrome/browser/ui/views/tab_modal_confirm_dialog_views.cc |
+++ b/chrome/browser/ui/views/tab_modal_confirm_dialog_views.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/ui/views/tab_modal_confirm_dialog_views.h" |
+#include "base/command_line.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/ui/browser_dialogs.h" |
#include "chrome/browser/ui/browser_list.h" |
@@ -11,9 +12,11 @@ |
#include "chrome/browser/ui/tab_contents/tab_contents.h" |
#include "chrome/browser/ui/tab_modal_confirm_dialog_delegate.h" |
#include "chrome/browser/ui/views/constrained_window_views.h" |
+#include "chrome/common/chrome_switches.h" |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/views/controls/message_box_view.h" |
+#include "ui/views/window/dialog_client_view.h" |
// static |
TabModalConfirmDialog* TabModalConfirmDialog::Create( |
@@ -22,6 +25,33 @@ TabModalConfirmDialog* TabModalConfirmDialog::Create( |
return new TabModalConfirmDialogViews(delegate, tab_contents); |
} |
+namespace { |
+const int kChromeStyleUniformInset = 0; |
+const int kChromeStyleInterRowVerticalSpacing = 20; |
+ |
+const int kChromeStyleButtonVEdgeMargin = 0; |
+const int kChromeStyleButtonHEdgeMargin = 0; |
+const int kChromeStyleDialogButtonLabelSpacing = 24; |
+ |
+views::MessageBoxView::InitParams CreateMessageBoxViewInitParams( |
+ const string16& message) |
+{ |
+ views::MessageBoxView::InitParams params(message); |
+ |
+ CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ if (command_line->HasSwitch(switches::kEnableFramelessConstrainedDialogs)) { |
+ params.top_inset = kChromeStyleUniformInset; |
+ params.bottom_inset = kChromeStyleUniformInset; |
+ params.left_inset = kChromeStyleUniformInset; |
+ params.right_inset = kChromeStyleUniformInset; |
+ |
+ params.inter_row_vertical_spacing = kChromeStyleInterRowVerticalSpacing; |
+ } |
+ |
+ return params; |
+} |
+} // namespace |
+ |
////////////////////////////////////////////////////////////////////////////// |
// TabModalConfirmDialogViews, constructor & destructor: |
@@ -30,7 +60,7 @@ TabModalConfirmDialogViews::TabModalConfirmDialogViews( |
TabContents* tab_contents) |
: delegate_(delegate), |
message_box_view_(new views::MessageBoxView( |
- views::MessageBoxView::InitParams(delegate->GetMessage()))) { |
+ CreateMessageBoxViewInitParams(delegate->GetMessage()))) { |
delegate_->set_window(new ConstrainedWindowViews(tab_contents->web_contents(), |
this)); |
} |
@@ -72,6 +102,23 @@ bool TabModalConfirmDialogViews::Accept() { |
return true; |
} |
+views::ClientView* TabModalConfirmDialogViews::CreateClientView( |
+ views::Widget* widget) { |
+ CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ if (command_line->HasSwitch(switches::kEnableFramelessConstrainedDialogs)) { |
+ views::DialogClientView::StyleParams params; |
+ params.button_vedge_margin = kChromeStyleButtonVEdgeMargin; |
+ params.button_hedge_margin = kChromeStyleButtonHEdgeMargin; |
+ params.button_label_spacing = kChromeStyleDialogButtonLabelSpacing; |
+ params.text_button_factory = |
+ &views::DialogClientView::CreateChromeStyleDialogButton; |
+ |
+ return new views::DialogClientView(widget, GetContentsView(), params); |
+ } |
+ |
+ return DialogDelegate::CreateClientView(widget); |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////// |
// TabModalConfirmDialogViews, views::WidgetDelegate implementation: |