Chromium Code Reviews| Index: ui/views/style/platform_style.cc |
| diff --git a/ui/views/style/platform_style.cc b/ui/views/style/platform_style.cc |
| index c2179df3f4a5f0209bc28227ece5941e9639471a..205308436f5123210af5c9fd3a46a4702cc21bc0 100644 |
| --- a/ui/views/style/platform_style.cc |
| +++ b/ui/views/style/platform_style.cc |
| @@ -4,17 +4,40 @@ |
| #include "ui/views/style/platform_style.h" |
| +#include "ui/base/resource/material_design/material_design_controller.h" |
| #include "ui/views/controls/button/label_button.h" |
| #include "ui/views/controls/button/label_button_border.h" |
| namespace views { |
| -#if !defined(OS_MACOSX) |
| +#if defined(OS_CHROMEOS) |
| // static |
| scoped_ptr<LabelButtonBorder> PlatformStyle::CreateLabelButtonBorder( |
| Button::ButtonStyle style) { |
| + // The material design spec for Chrome OS includes no visual effects for |
| + // button states, so a non-asset border with insets is used. |
| + if (ui::MaterialDesignController::IsModeMaterial() && |
| + style == Button::STYLE_TEXTBUTTON) { |
|
Peter Kasting
2015/08/07 15:36:16
Nit: Reverse this condition so you can do the simp
jonross
2015/08/07 15:57:15
Done.
|
| + scoped_ptr<LabelButtonBorder> border(new views::LabelButtonBorder()); |
| + border->set_insets(views::LabelButtonAssetBorder::GetDefaultInsetsForStyle( |
| + Button::STYLE_TEXTBUTTON)); |
| + return border.Pass(); |
| + } |
| return make_scoped_ptr(new LabelButtonAssetBorder(style)); |
| } |
| +#elif !defined(OS_MACOSX) |
| +// static |
| +scoped_ptr<LabelButtonBorder> PlatformStyle::CreateLabelButtonBorder( |
| + Button::ButtonStyle style) { |
| + scoped_ptr<LabelButtonAssetBorder> border(new LabelButtonAssetBorder(style)); |
| + // The material design spec does not include a visual effect for the |
| + // STATE_HOVERED button state so we have to remove the default one added by |
| + // LabelButtonAssetBorder. |
| + if (ui::MaterialDesignController::IsModeMaterial()) { |
|
Peter Kasting
2015/08/07 15:36:16
No {}
jonross
2015/08/07 15:57:15
Done.
|
| + border->SetPainter(false, Button::STATE_HOVERED, nullptr); |
| + } |
| + return border.Pass(); |
| +} |
| #endif |
| #if !defined(OS_LINUX) || defined(OS_CHROMEOS) |