aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/webrender_helpers.rs
diff options
context:
space:
mode:
authorUlf Nilsson <kaksmet@gmail.com>2016-05-08 18:38:09 +0200
committerUlf Nilsson <kaksmet@gmail.com>2016-05-10 15:46:22 +0200
commit0f983cd11f0442d5e6ed756cf22291d12acd8924 (patch)
treed2cf683cb7538257f592d6d39178ddcfecb8e18e /components/layout/webrender_helpers.rs
parentda8543909382cf023dba58d8340bbdd1b7772985 (diff)
downloadservo-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.rs6
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 {