ladybird/Libraries/LibWeb/CSS/Parser
Sam Atkins 698dd600f2 LibWeb/CSS: Keep invalid parts of <forgiving-selector-list>s around
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.
2024-11-13 20:38:12 +01:00
..
ComponentValue.cpp
ComponentValue.h
Dimension.h
GradientParsing.cpp
Helpers.cpp
MediaParsing.cpp
Parser.cpp
Parser.h
ParsingContext.cpp
ParsingContext.h
RuleParsing.cpp
SelectorParsing.cpp
Token.cpp
Token.h
Tokenizer.cpp
Tokenizer.h
TokenStream.h
Types.cpp
Types.h