servo/components/layout_2020
Martin Robinson b7d089930e
layout: Remove LayoutRPC and query layout via the Layout trait (#31937)
Instead of the tricky `LayoutRPC` interface, query layout using the
`Layout` trait. This means that now queries will requires calling layout
and then running the query. During layout an enum is used to indicate
what kind of layout is necessary.

This change also removes the mutex-locked `rw_data` from both layout
threads. It's no longer necessary since layout runs synchronously. The
one downside here is that for resolved style queries, we now have to
create two StyleContexts. One for layout and one for the query itself.
The creation of this context should not be very expensive though.

`LayoutRPC` used to be necessary because layout used to run
asynchronously from script, but that no longer happens. With this
change, it becomes possible to safely pass nodes to layout from script
-- a cleanup that can happen in a followup change.
2024-03-29 16:25:47 +00:00
..
display_list layout: Allow transforming inline replaced elements (#31833) 2024-03-27 11:57:27 +00:00
flexbox layout: Use Au in ResolvedMargins and CollapsedMargin (#31848) 2024-03-28 14:20:14 +00:00
flow Obey white-space: pre-wrap when intrinsically sizing an IFC (#31930) 2024-03-29 15:02:47 +00:00
fragment_tree layout: Use Au in ResolvedMargins and CollapsedMargin (#31848) 2024-03-28 14:20:14 +00:00
table layout: Allow transforming inline replaced elements (#31833) 2024-03-27 11:57:27 +00:00
tests layout: use Au in BoxFragment (#31794) 2024-03-22 04:30:39 +00:00
Cargo.toml layout: Add support for box-shadow to Layout 2020 (#31453) 2024-03-07 11:13:57 +00:00
cell.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
context.rs Lint layout_2020 with clippy (#31169) 2024-01-25 09:03:31 +00:00
dom.rs Treat video elements as replaced content and render the current frame. (#31412) 2024-02-23 17:34:08 +00:00
dom_traversal.rs layout: Do not inherit node and fragment flags in anonymous boxes (#31586) 2024-03-09 09:13:19 +00:00
formatting_contexts.rs layout: Allow transforming inline replaced elements (#31833) 2024-03-27 11:57:27 +00:00
geom.rs layout: Add basic support for getClientRects() queries (#31696) 2024-03-15 17:20:47 +00:00
layout_debug.rs Lint layout_2020 with clippy (#31169) 2024-01-25 09:03:31 +00:00
lib.rs make ContainingBlock use Au for inline_size and block_size (#31370) 2024-02-20 09:14:44 +00:00
lists.rs layout: Do not inherit node and fragment flags in anonymous boxes (#31586) 2024-03-09 09:13:19 +00:00
positioned.rs layout: Allow transforming inline replaced elements (#31833) 2024-03-27 11:57:27 +00:00
query.rs layout: Remove LayoutRPC and query layout via the Layout trait (#31937) 2024-03-29 16:25:47 +00:00
replaced.rs Treat video elements as replaced content and render the current frame. (#31412) 2024-02-23 17:34:08 +00:00
sizing.rs layout: Add initial support for row height distribution (#31421) 2024-02-29 12:12:54 +00:00
style_ext.rs layout: Allow transforming inline replaced elements (#31833) 2024-03-27 11:57:27 +00:00
traversal.rs Lint layout_2020 with clippy (#31169) 2024-01-25 09:03:31 +00:00