servo/components/layout_2020
Martin Robinson f949d2adc8
fonts: Remove the per-FontGroup cached fallback font (#35705)
Instead of keeping a per-FontGroup cache of the previously used fallback
font, cache this value in the caller of `FontGroup::find_by_codepoint`.
The problem with caching this value in the `FontGroup` is that it can
make one layout different from the next.

Still, it is important to cache the value somewhere so that, for
instance, Chinese character don't have to continuously walk through the
entire fallback list when laying out. The heuristic here is to try to
last used font first if the `Script`s match. At the very least this
should make one layout consistent with the next.

Fixes #35704.
Fixes #35697.
Fixes #35689.
Fixes #35679.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-28 14:33:21 +00:00
..
display_list Update sensitivity naming in DisplayList::new (#35694) 2025-02-27 12:22:26 +00:00
flexbox layout: Use definite cross size to compute flex base size (#35688) 2025-02-27 13:54:44 +00:00
flow fonts: Remove the per-FontGroup cached fallback font (#35705) 2025-02-28 14:33:21 +00:00
fragment_tree Fix scroll_sensitivity related naming issue (#35462) 2025-02-14 10:18:25 +00:00
table layout: Change the IndefiniteContainingBlock sizes to Option<Au> (#35653) 2025-02-25 14:24:29 +00:00
taffy Implement overflow:clip (#35103) 2025-02-12 07:02:06 +00:00
tests Update deprecated use of PanicInfo to PanicHookInfo (#34659) 2024-12-17 03:50:26 +00:00
Cargo.toml layout: Implement a non-recursive version of CSS quotes (#34770) 2025-02-27 16:00:21 +00:00
cell.rs layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
construct_modern.rs layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
context.rs script: Do not set up an IPC route for every image load (#35041) 2025-01-25 09:39:04 +00:00
dom.rs layout: Clean up inline layout data types a bit (#34563) 2024-12-11 14:40:34 +00:00
dom_traversal.rs layout: Implement a non-recursive version of CSS quotes (#34770) 2025-02-27 16:00:21 +00:00
formatting_contexts.rs layout: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +00:00
geom.rs layout: Change the IndefiniteContainingBlock sizes to Option<Au> (#35653) 2025-02-25 14:24:29 +00:00
layout_box_base.rs layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
lib.rs layout: Implement a non-recursive version of CSS quotes (#34770) 2025-02-27 16:00:21 +00:00
lists.rs layout: Add LayoutBoxBase and use it for IndependentFormattingContext (#34507) 2024-12-07 19:12:25 +00:00
positioned.rs Update to rust 1.85 (#35628) 2025-02-24 17:44:35 +00:00
query.rs Make naming of variables consistent with SpecificLayoutInfo (#35104) 2025-01-21 17:28:14 +00:00
quotes.rs layout: Implement a non-recursive version of CSS quotes (#34770) 2025-02-27 16:00:21 +00:00
replaced.rs layout: Ignore indefinite stretch on min and max sizing properties (#35630) 2025-02-24 13:51:08 +00:00
sizing.rs layout: Change the IndefiniteContainingBlock sizes to Option<Au> (#35653) 2025-02-25 14:24:29 +00:00
style_ext.rs layout: Change the IndefiniteContainingBlock sizes to Option<Au> (#35653) 2025-02-25 14:24:29 +00:00
traversal.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00