servo/components/layout/taffy
Martin Robinson 9781f1241a
layout: Move text decoration propagation to stacking context tree construction (#37069)
Text decorations have a special kind of propagation. Instead of
propating these during box tree construction, move propagation to
stacking context tree construction. This will allow for using a very
easy type of incremental layout when text decorations change. For
instance, when a link changes color during hovering over it, we can skip
all of box and fragment tree construction.

In addition, propagation works a bit better now and color and style
properly move down from their originating `Fragment`s.

This introduces three new failures, because now we are drawing the
text-decoration with the correct color in more places, which exposes an
issue we have with text-decorations not being drawn in relation to the
baseline (taking into account `vertical-align`).

Testing: There are tests for these changes.
Fixes #31736.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-21 16:38:29 +00:00
..
stylo_taffy Upgrade Stylo to 2025-05-01 (#36835) 2025-05-05 14:08:49 +00:00
layout.rs layout: Inform child layout about final block size (#36980) 2025-05-14 20:35:49 +00:00
mod.rs layout: Move text decoration propagation to stacking context tree construction (#37069) 2025-05-21 16:38:29 +00:00