servo/components/shared
Martin Robinson b5c8164e99
layout: Simplify and generalize the usage of pseudo-elements (#36202)
- Remove the last remaining Servo-specific PseudoElement enum from
  layout. This was made to select `::before` and `::after` (both eager
  pseudo-elements), but now `traverse_pseudo_element` is called
  `traverse_eager_pseudo_element` and should work on any eager pseudo
  element.
- Expose a single way of getting psuedo-element variants of
  ThreadSafeLayoutElement in the Layout DOM, which returns `None` when
  the pseudo-element doesn't apply (not defined for eager
  pseudo-elements or when trying to get `<details>` related
  pseudo-elements on elements that they don't apply to).
- Ensure that NodeAndStyleInfo always refers to a node. This is done by
  making sure that anonymous boxes are all associated with their
  originating node.

These changes are prepatory work for implementation of the `::marker`
pseudo-element as well as ensuring that all anonymous boxes can be
cached into the box tree eventually.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-29 12:41:04 +00:00
..
background_hang_monitor script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
base Make DOMPoint and DOMPointReadOnly serializable (#35989) 2025-03-27 01:35:02 +00:00
bluetooth Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
canvas Add Path2D (#35783) 2025-03-26 12:12:44 +00:00
compositing compositor: Remove the script channel from the compositor (#36089) 2025-03-23 11:19:27 +00:00
constellation Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
devtools devtools: Use webview_id as browser_id (#35956) 2025-03-19 08:59:38 +00:00
embedder Allow setting userscripts directly without the need of files (#35388) 2025-03-27 03:00:08 +00:00
fonts Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
net Implement nonce attribute to pass more CSP checks (#35876) 2025-03-10 09:25:34 +00:00
profile metrics: Simplify ProgressiveWebMetrics (#35985) 2025-03-21 14:55:00 +00:00
script Allow setting userscripts directly without the need of files (#35388) 2025-03-27 03:00:08 +00:00
script_layout layout: Simplify and generalize the usage of pseudo-elements (#36202) 2025-03-29 12:41:04 +00:00
webrender Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
webxr Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00