| Index: ui/gfx/render_text_harfbuzz.h
|
| diff --git a/ui/gfx/render_text_harfbuzz.h b/ui/gfx/render_text_harfbuzz.h
|
| index 6d8fa8d962a13e7067e0d2f759cf8f9dbdb89916..e8b28e430e4a1c5dc7f3a7fab2709fb6573f8ab5 100644
|
| --- a/ui/gfx/render_text_harfbuzz.h
|
| +++ b/ui/gfx/render_text_harfbuzz.h
|
| @@ -54,6 +54,10 @@ struct GFX_EXPORT TextRunHarfBuzz {
|
| // Returns whether the given shaped run contains any missing glyphs.
|
| bool HasMissingGlyphs() const;
|
|
|
| + // Returns the glyph width for the given character range. |char_range| is in
|
| + // text-space (0 corresponds to |GetDisplayText()[0]|).
|
| + SkScalar GetGlyphWidthForCharRange(const Range& char_range) const;
|
| +
|
| float width;
|
| float preceding_run_widths;
|
| Range range;
|
| @@ -115,6 +119,9 @@ class TextRunList {
|
| // Do not use this when multiline is enabled.
|
| float width() const { return width_; }
|
|
|
| + // Get the run index applicable to |position| (at or preceeding |position|).
|
| + size_t GetRunIndexAt(size_t position) const;
|
| +
|
| private:
|
| // Text runs in logical order.
|
| ScopedVector<TextRunHarfBuzz> runs_;
|
| @@ -179,6 +186,10 @@ class GFX_EXPORT RenderTextHarfBuzz : public RenderText {
|
| FRIEND_TEST_ALL_PREFIXES(RenderTextTest, HarfBuzz_NonExistentFont);
|
| FRIEND_TEST_ALL_PREFIXES(RenderTextTest, HarfBuzz_UniscribeFallback);
|
| FRIEND_TEST_ALL_PREFIXES(RenderTextTest, HarfBuzz_UnicodeFallback);
|
| + FRIEND_TEST_ALL_PREFIXES(RenderTextTest, Multiline_LineBreakerBehavior);
|
| + FRIEND_TEST_ALL_PREFIXES(RenderTextTest,
|
| + Multiline_SurrogatePairsOrCombiningChars);
|
| + FRIEND_TEST_ALL_PREFIXES(RenderTextTest, Multiline_ZeroWidthChars);
|
|
|
| // Specify the width of a glyph for test. The width of glyphs is very
|
| // platform-dependent and environment-dependent. Otherwise multiline test
|
|
|