Index: chrome/browser/ui/libgtk2ui/gtk2_border.cc |
diff --git a/chrome/browser/ui/libgtk2ui/gtk2_border.cc b/chrome/browser/ui/libgtk2ui/gtk2_border.cc |
index 9d78d959ab8ae34bebfad7210e81b451a844c9b2..5e733e425bad484aa04434e6cd5862d0c3a13e13 100644 |
--- a/chrome/browser/ui/libgtk2ui/gtk2_border.cc |
+++ b/chrome/browser/ui/libgtk2ui/gtk2_border.cc |
@@ -16,6 +16,7 @@ |
#include "ui/gfx/rect.h" |
#include "ui/gfx/skia_util.h" |
#include "ui/views/controls/button/label_button.h" |
+#include "ui/views/controls/button/label_button_border.h" |
#include "ui/views/native_theme_delegate.h" |
using views::Button; |
@@ -73,7 +74,7 @@ class ButtonImageSkiaSource : public gfx::ImageSkiaSource { |
Gtk2Border::Gtk2Border(Gtk2UI* gtk2_ui, |
views::LabelButton* owning_button, |
- scoped_ptr<views::Border> border) |
+ scoped_ptr<views::LabelButtonBorder> border) |
: gtk2_ui_(gtk2_ui), |
owning_button_(owning_button), |
border_(border.Pass()), |
@@ -142,7 +143,8 @@ void Gtk2Border::PaintState(const ui::NativeTheme::State state, |
bool focused = extra.button.is_focused; |
Button::ButtonState views_state = Button::GetButtonStateFrom(state); |
- if (ShouldDrawBorder(focused, views_state)) { |
+ if (border_->GetPainter(focused, views_state) || |
+ (focused && border_->GetPainter(false, views_state))) { |
gfx::ImageSkia* image = &button_images_[focused][views_state]; |
if (image->isNull() || image->size() != rect.size()) { |
@@ -155,17 +157,4 @@ void Gtk2Border::PaintState(const ui::NativeTheme::State state, |
} |
} |
-bool Gtk2Border::ShouldDrawBorder(bool focused, |
- views::Button::ButtonState state) { |
- // This logic should be kept in sync with the LabelButtonBorder constructor. |
Elliot Glaysher
2014/06/07 00:06:35
In retrospect, me thinking this would ever happen
|
- if (owning_button_->style() == Button::STYLE_BUTTON) { |
- return true; |
- } else if (owning_button_->style() == Button::STYLE_TEXTBUTTON) { |
- return focused == false && (state == Button::STATE_HOVERED || |
- state == Button::STATE_PRESSED); |
- } |
- |
- return false; |
-} |
- |
} // namespace libgtk2ui |