diff options
author | Ulf Nilsson <kaksmet@gmail.com> | 2016-05-08 18:38:09 +0200 |
---|---|---|
committer | Ulf Nilsson <kaksmet@gmail.com> | 2016-05-10 15:46:22 +0200 |
commit | 0f983cd11f0442d5e6ed756cf22291d12acd8924 (patch) | |
tree | d2cf683cb7538257f592d6d39178ddcfecb8e18e /components/layout/webrender_helpers.rs | |
parent | da8543909382cf023dba58d8340bbdd1b7772985 (diff) | |
download | servo-0f983cd11f0442d5e6ed756cf22291d12acd8924.tar.gz servo-0f983cd11f0442d5e6ed756cf22291d12acd8924.zip |
Make `text-align: justify` incremental layout safe
Diffstat (limited to 'components/layout/webrender_helpers.rs')
-rw-r--r-- | components/layout/webrender_helpers.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/components/layout/webrender_helpers.rs b/components/layout/webrender_helpers.rs index a06fc045500..06c94414fd3 100644 --- a/components/layout/webrender_helpers.rs +++ b/components/layout/webrender_helpers.rs @@ -393,7 +393,11 @@ impl WebRenderDisplayItemConverter for DisplayItem { for slice in item.text_run.natural_word_slices_in_visual_order(&item.range) { for glyph in slice.glyphs.iter_glyphs_for_byte_range(&slice.range) { - let glyph_advance = glyph.advance(); + let glyph_advance = if glyph.char_is_space() { + glyph.advance() + item.text_run.extra_word_spacing + } else { + glyph.advance() + }; if !slice.glyphs.is_whitespace() { let glyph_offset = glyph.offset().unwrap_or(Point2D::zero()); let glyph = webrender_traits::GlyphInstance { |