layout: Add initial support for the ::marker pseudo-element (#36317)

This change adds support for the `::marker` pseudo-element and ensure
that
markers are cached into the box tree. This is only initial support,
there are a few
things missing such as animations, transitions, and support the
`content` CSS
property.

Testing: There are WPT tests for this change.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2025-04-07 19:49:05 +02:00 committed by GitHub
parent a5c547259f
commit 2b63e60e8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 282 additions and 276 deletions

View file

@ -1262,6 +1262,7 @@ impl WindowMethods<crate::DomTypeHolder> for Window {
Some(PseudoElement::After)
},
Some(ref pseudo) if pseudo == "::selection" => Some(PseudoElement::Selection),
Some(ref pseudo) if pseudo == "::marker" => Some(PseudoElement::Marker),
Some(ref pseudo) if pseudo.starts_with(':') => {
// Step 3.2: If type is failure, or is a ::slotted() or ::part()
// pseudo-element, let obj be null.