servo/components/layout_2020
Martin Robinson ac567645a7
fonts: Simplify FontContext in two ways that affect the unit test (#33541)
This is done by no longer forwarding compositor-bound messages through
SystemFontService and making `FontContext` non-generic:

- Messages from the `FontContext` to the `Compositor` no longer need to be
  forwarded through the `SystemFontService`. Instead send these messages
  directly through the script IPC channel to the `Compositor`.

- Instead of adding a mock `SystemFontServiceProxy`, simply implement a
  mock `SystemFontService` on the other side of an IPC channel in the
  `font_context` unit test. This allows making `FontContext`
  non-generic, greatly simplifying the code. The extra complexity moves
  into the unit test.

These changes necessitate adding a new kind of `FontIdentifier`,
`FontIdentifier::Mock` due to the fact that local fonts have
platform-specific identifiers. This avoids having to pretend like the
system font service can have web fonts -- which was always a bit of a
hack.

These two changes are combined into one PR because they both require
extensive and similar chages in the font_context unit test which
dependended on the details of both of them.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-09-25 20:15:47 +00:00
..
display_list layout: Add support for object-fit and object-position (#33479) 2024-09-18 06:20:28 +00:00
flexbox Use ContentSizes::shrink_to_fit when possible (#33527) 2024-09-25 08:53:04 +00:00
flow fonts: Simplify FontContext in two ways that affect the unit test (#33541) 2024-09-25 20:15:47 +00:00
fragment_tree layout: Add support for object-fit and object-position (#33479) 2024-09-18 06:20:28 +00:00
table layout: Ensure that <caption>'s support position: relative (#33426) 2024-09-19 12:43:29 +00:00
tests layout: Right-to-left support for other layout modes (#33375) 2024-09-11 13:40:11 +00:00
Cargo.toml Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
cell.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
context.rs fonts: Simplify FontContext in two ways that affect the unit test (#33541) 2024-09-25 20:15:47 +00:00
dom.rs Add HTMLCanvasDataSource::Empty that represent transparent black instead of HTMLCanvasDataSource::Image(None) (#33519) 2024-09-22 14:04:53 +00:00
dom_traversal.rs Replace .map_or(false with Option::is_some_and (#33468) 2024-09-16 10:03:52 +00:00
formatting_contexts.rs layout: Use Au in ComputedValuesExt (#33396) 2024-09-10 21:35:17 +00:00
geom.rs Let LengthPercentage::maybe_to_used_value() accept Option<Au> (#33450) 2024-09-16 08:08:54 +00:00
layout_debug.rs clippy: Fix warnings in shared and config, fonts, layout, and layout_2020 components (#32674) 2024-07-04 14:18:58 +00:00
lib.rs layout: Right-to-left support for other layout modes (#33375) 2024-09-11 13:40:11 +00:00
lists.rs layout: Add a basic support for list-style-position: outside (#32114) 2024-04-22 14:23:35 +00:00
positioned.rs layout: Add support for object-fit and object-position (#33479) 2024-09-18 06:20:28 +00:00
query.rs Layout: Implement innerText/outerText (#33312) 2024-09-24 09:45:33 +00:00
replaced.rs Add HTMLCanvasDataSource::Empty that represent transparent black instead of HTMLCanvasDataSource::Image(None) (#33519) 2024-09-22 14:04:53 +00:00
sizing.rs Use ContentSizes::shrink_to_fit when possible (#33527) 2024-09-25 08:53:04 +00:00
style_ext.rs Enable min-content, max-content, fit-content and stretch (#33492) 2024-09-20 14:48:27 +00:00
traversal.rs script: Split style and layout data in DOM nodes (#31985) 2024-04-04 07:56:51 +00:00