| Index: ui/gfx/render_text.h | 
| diff --git a/ui/gfx/render_text.h b/ui/gfx/render_text.h | 
| index 4d629a00a0479cefddad8a86a0d5b453e9941288..30544bc7ffb528e9b874361e922f317f4e5415f8 100644 | 
| --- a/ui/gfx/render_text.h | 
| +++ b/ui/gfx/render_text.h | 
| @@ -109,15 +109,17 @@ class GFX_EXPORT SkiaTextRenderer { | 
| DISALLOW_COPY_AND_ASSIGN(SkiaTextRenderer); | 
| }; | 
|  | 
| -// Internal helper class used by derived classes to iterate colors and styles. | 
| +// Internal helper class used to iterate colors, baselines, and styles. | 
| class StyleIterator { | 
| public: | 
| StyleIterator(const BreakList<SkColor>& colors, | 
| -                const std::vector<BreakList<bool> >& styles); | 
| +                const BreakList<BaselineStyle>& baselines, | 
| +                const std::vector<BreakList<bool>>& styles); | 
| ~StyleIterator(); | 
|  | 
| // Get the colors and styles at the current iterator position. | 
| SkColor color() const { return color_->second; } | 
| +  BaselineStyle baseline() const { return baseline_->second; } | 
| bool style(TextStyle s) const { return style_[s]->second; } | 
|  | 
| // Get the intersecting range of the current iterator set. | 
| @@ -128,9 +130,11 @@ class StyleIterator { | 
|  | 
| private: | 
| BreakList<SkColor> colors_; | 
| +  BreakList<BaselineStyle> baselines_; | 
| std::vector<BreakList<bool> > styles_; | 
|  | 
| BreakList<SkColor>::const_iterator color_; | 
| +  BreakList<BaselineStyle>::const_iterator baseline_; | 
| std::vector<BreakList<bool>::const_iterator> style_; | 
|  | 
| DISALLOW_COPY_AND_ASSIGN(StyleIterator); | 
| @@ -332,6 +336,11 @@ class GFX_EXPORT RenderText { | 
| void SetColor(SkColor value); | 
| void ApplyColor(SkColor value, const Range& range); | 
|  | 
| +  // Set the baseline style over the entire text or a logical character range. | 
| +  // The |range| should be valid, non-reversed, and within [0, text().length()]. | 
| +  void SetBaselineStyle(BaselineStyle value); | 
| +  void ApplyBaselineStyle(BaselineStyle value, const Range& range); | 
| + | 
| // Set various text styles over the entire text or a logical character range. | 
| // The respective |style| is applied if |value| is true, or removed if false. | 
| // The |range| should be valid, non-reversed, and within [0, text().length()]. | 
| @@ -456,6 +465,7 @@ class GFX_EXPORT RenderText { | 
| bool text_elided() const { return text_elided_; } | 
|  | 
| const BreakList<SkColor>& colors() const { return colors_; } | 
| +  const BreakList<BaselineStyle>& baselines() const { return baselines_; } | 
| const std::vector<BreakList<bool> >& styles() const { return styles_; } | 
|  | 
| const std::vector<internal::Line>& lines() const { return lines_; } | 
| @@ -692,10 +702,11 @@ class GFX_EXPORT RenderText { | 
| // Composition text range. | 
| Range composition_range_; | 
|  | 
| -  // Color and style breaks, used to color and stylize ranges of text. | 
| +  // Color, baseline, and style breaks, used to modify ranges of text. | 
| // BreakList positions are stored with text indices, not display indices. | 
| // TODO(msw): Expand to support cursor, selection, background, etc. colors. | 
| BreakList<SkColor> colors_; | 
| +  BreakList<BaselineStyle> baselines_; | 
| std::vector<BreakList<bool> > styles_; | 
|  | 
| // Breaks saved without temporary composition and selection styling. | 
|  |