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 b78a6422f02952c5e53e91d55389e4904968ae24..3436591497846ae0475a9656584819876fa01638 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" |
namespace chrome { |
@@ -25,6 +28,33 @@ void ShowTabModalConfirmDialog(TabModalConfirmDialogDelegate* delegate, |
} // namespace chrome |
+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: |
@@ -33,7 +63,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, this)); |
} |
@@ -66,6 +96,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: |