| Index: ui/views/controls/styled_label.cc
|
| diff --git a/ui/views/controls/styled_label.cc b/ui/views/controls/styled_label.cc
|
| index e7ee56c0b44de2b806803fd4da900308c5ade9d4..400b956d2693ac758a4c0e433dd60932f9658dd0 100644
|
| --- a/ui/views/controls/styled_label.cc
|
| +++ b/ui/views/controls/styled_label.cc
|
| @@ -94,7 +94,8 @@ bool StyledLabel::StyleRange::operator<(
|
|
|
| StyledLabel::StyledLabel(const base::string16& text,
|
| StyledLabelListener* listener)
|
| - : listener_(listener),
|
| + : interline_spacing_(0),
|
| + listener_(listener),
|
| displayed_on_background_color_set_(false),
|
| auto_color_readability_enabled_(true) {
|
| base::TrimWhitespace(text, base::TRIM_TRAILING, &text_);
|
| @@ -133,6 +134,11 @@ void StyledLabel::SetDefaultStyle(const RangeStyleInfo& style_info) {
|
| PreferredSizeChanged();
|
| }
|
|
|
| +void StyledLabel::SetInterlineSpacing(int interline_spacing) {
|
| + interline_spacing_ = interline_spacing;
|
| + PreferredSizeChanged();
|
| +}
|
| +
|
| void StyledLabel::SetDisplayedOnBackgroundColor(SkColor color) {
|
| displayed_on_background_color_ = color;
|
| displayed_on_background_color_set_ = true;
|
| @@ -193,7 +199,7 @@ gfx::Size StyledLabel::CalculateAndDoLayout(int width, bool dry_run) {
|
| if (width <= 0 || text_.empty())
|
| return gfx::Size();
|
|
|
| - const int line_height = CalculateLineHeight(font_list_);
|
| + const int line_height = CalculateLineHeight(font_list_) + interline_spacing_;
|
| // The index of the line we're on.
|
| int line = 0;
|
| // The x position (in pixels) of the line we're on, relative to content
|
| @@ -295,7 +301,8 @@ gfx::Size StyledLabel::CalculateAndDoLayout(int width, bool dry_run) {
|
| gfx::Insets focus_border_insets(label->GetInsets());
|
| focus_border_insets += -label->View::GetInsets();
|
| const gfx::Size view_size = label->GetPreferredSize();
|
| - DCHECK_EQ(line_height, view_size.height() - focus_border_insets.height());
|
| + DCHECK_EQ(line_height - interline_spacing_,
|
| + view_size.height() - focus_border_insets.height());
|
| if (!dry_run) {
|
| label->SetBoundsRect(gfx::Rect(
|
| gfx::Point(GetInsets().left() + x - focus_border_insets.left(),
|
|
|