ladybird/Libraries/LibWeb/CSS/Parser
Sam Atkins bb4f2f49f5 LibWeb/CSS: Reject selectors with multiple pseudo-elements
Our codebase assumes that a selector only contains a single
pseudo-element, and that it's in the final compound selector. If there
are multiple of them, or they're somewhere else in the selector, we
just silently pretend the others aren't there, which is *not* what we
want, and causes the selector to match things it shouldn't.

A proper fix is quite involved, so as a temporary fix, just reject any
selector that doesn't fit our assumptions during parsing. That way we
get false negatives instead of false positives.
2025-12-09 15:48:57 +00:00
..
ArbitrarySubstitutionFunctions.cpp LibWeb/CSS: Use dimension_for_unit() when we don't need the exact unit 2025-09-11 17:06:44 +01:00
ArbitrarySubstitutionFunctions.h LibWeb: Reduce the number of headers CSS Parser.h is included in 2025-11-28 16:15:49 +00:00
ComponentValue.cpp LibWeb/CSS: Include guaranteed-invalid value in ComponentValue 2025-07-09 16:44:20 +01:00
ComponentValue.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
DescriptorParsing.cpp LibWeb/CSS: Replace resolve_percentage_deprecated() with undeprecated 2025-09-24 16:33:53 +01:00
Dimension.h LibWeb/CSS: Add Parser::Dimension::to_string() 2024-12-18 12:21:22 +00:00
ErrorReporter.cpp WebContent+LibWeb/CSS: Add debug request to dump CSS errors 2025-08-04 10:50:09 +01:00
ErrorReporter.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
GradientParsing.cpp LibWeb/CSS: Store RadialGradientStyleValue sizes as StyleValues 2025-12-01 11:01:06 +00:00
Helpers.cpp LibWeb/CSS: Make CSSImportRule.media return its own MediaList 2025-12-08 13:30:53 +00:00
MediaParsing.cpp LibWeb: Add method for whether tree-counting function is allowed 2025-10-20 16:12:08 +01:00
Parser.cpp LibWeb/CSS: Make CSSImportRule.media return its own MediaList 2025-12-08 13:30:53 +00:00
Parser.h LibWeb: Store BasicShapeStyleValue sub-values directly 2025-12-09 11:23:59 +00:00
PropertyParsing.cpp LibWeb: Treat background-* and mask-* as lists for initial values 2025-12-08 11:46:50 +00:00
RuleContext.cpp LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
RuleContext.h LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
RuleParsing.cpp LibWeb/CSS: Make CSSImportRule.media return its own MediaList 2025-12-08 13:30:53 +00:00
SelectorParsing.cpp LibWeb/CSS: Reject selectors with multiple pseudo-elements 2025-12-09 15:48:57 +00:00
Syntax.cpp LibWeb: Include PropertyID.h in fewer header files 2025-10-27 14:50:54 +00:00
Syntax.h LibWeb: Include PropertyID.h in fewer header files 2025-10-27 14:50:54 +00:00
SyntaxParsing.cpp LibWeb: Include PropertyID.h in fewer header files 2025-10-27 14:50:54 +00:00
SyntaxParsing.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Token.cpp LibWeb/CSS: Construct all CSS Tokens in a consistent way 2025-07-09 15:04:57 +01:00
Token.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Tokenizer.cpp LibWeb/CSS: Stop converting at-rule names to lowercase 2025-07-09 15:04:57 +01:00
Tokenizer.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
TokenStream.h LibWeb/CSS: Expose consumed tokens from TokenStream 2025-12-02 09:49:23 +00:00
Types.cpp LibWeb/CSS: Serialize Supports::Declaration as original representation 2025-12-02 09:49:23 +00:00
Types.h LibWeb/CSS: Serialize Supports::Declaration as original representation 2025-12-02 09:49:23 +00:00
ValueParsing.cpp LibWeb: Store BasicShapeStyleValue sub-values directly 2025-12-09 11:23:59 +00:00