mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-18 15:32:22 +00:00
LibWeb/CSS: Keep invalid parts of <forgiving-selector-list>
s around
Attempt 2! Reverts 2a5dbedad4
This time, set up a different combinator when producing a relative
invalid selector rather than a standalone one. This fixes the crash.
Original description below for simplicity because it still applies.
---
Selectors like `:is(.valid, &!?!?!invalid)` need to keep the invalid
part around, even though it will never match, for a couple of reasons:
- Serialization needs to include them
- For nesting, we care if a `&` appeared anywhere in the selector, even
in an invalid part.
So this patch introduces an `Invalid` simple selector type, which simply
holds its original ComponentValues. We search through these looking for
`&`, and we dump them out directly when asked to serialize.
This commit is contained in:
parent
329cd946ac
commit
5a1eb9e220
Notes:
github-actions[bot]
2024-11-14 12:20:58 +00:00
Author: https://github.com/AtkinsSJ
Commit: 5a1eb9e220
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2335
8 changed files with 111 additions and 3 deletions
|
@ -0,0 +1,2 @@
|
|||
:is(hello, !?) -> :is(hello, !?)
|
||||
:is(what, :fake(:imaginary), really) -> :is(what, :fake(:imaginary), really)
|
Loading…
Add table
Add a link
Reference in a new issue