Chromium Code Reviews| Index: ui/views/controls/button/label_button.cc |
| diff --git a/ui/views/controls/button/label_button.cc b/ui/views/controls/button/label_button.cc |
| index 0387e1d641e64caa1bb93dc934811e27945bee58..5378dec1033f6ffd5d5eeba58a3fd4422bcd00a2 100644 |
| --- a/ui/views/controls/button/label_button.cc |
| +++ b/ui/views/controls/button/label_button.cc |
| @@ -70,7 +70,8 @@ LabelButton::LabelButton(ButtonListener* listener, const base::string16& text) |
| is_default_(false), |
| style_(STYLE_TEXTBUTTON), |
| border_is_themed_border_(true), |
| - image_label_spacing_(kSpacing) { |
| + image_label_spacing_(kSpacing), |
| + ignore_vertical_overlap_(true) { |
| SetAnimationDuration(kHoverAnimationDurationMs); |
| SetText(text); |
| @@ -297,7 +298,9 @@ void LabelButton::Layout() { |
| // views are centered. In that case, using the tighter preferred label width |
| // avoids wasted space within the label that would look like awkward padding. |
| // Labels can paint over the full button height, including the border height. |
| - gfx::Size label_size(child_area.width(), height()); |
| + gfx::Size label_size(child_area.width(), ignore_vertical_overlap_ |
| + ? height() |
| + : child_area.height()); |
| if (!image_size.IsEmpty() && !label_size.IsEmpty()) { |
| label_size.set_width(std::max(child_area.width() - |
| image_size.width() - image_label_spacing_, 0)); |
| @@ -320,7 +323,8 @@ void LabelButton::Layout() { |
| image_origin.Offset(child_area.width() - image_size.width(), 0); |
| } |
| - gfx::Point label_origin(child_area.x(), 0); |
| + gfx::Point label_origin(child_area.x(), |
| + ignore_vertical_overlap_ ? 0 : child_area.y()); |
|
flackr
2015/01/30 15:34:04
Out of curiosity, can you tell from the git histor
Nina
2015/01/30 15:44:32
It's required by the bookmark bar:
https://coderev
sky
2015/02/03 21:40:02
This seems suspicious to me. If BookmarkBar wants
msw
2015/02/03 23:50:19
Ignoring the vertical insets for text rendering wa
Nina
2015/02/04 16:20:11
Acknowledged.
flackr
2015/02/04 16:39:08
So it sounds like if we ignore borders for the pur
|
| if (!image_size.IsEmpty() && adjusted_alignment != gfx::ALIGN_RIGHT) { |
| label_origin.set_x(image_origin.x() + image_size.width() + |
| image_label_spacing_); |