ladybird/Libraries/LibWeb/CSS/Parser
Andreas Kling f47b6f3270 LibWeb: Reduce CSS parser token memory usage
Store CSS token payloads in a variant so each token only carries the
state needed by its type. Keep delimiter, number, hash, string, and
dimension data separate instead of storing every possible payload on
every token.

Use a smaller component-value token for function and block boundary
metadata. These component values only need token type, original source
text, and source positions, so avoid embedding full token payload
storage inside every Function and SimpleBlock.

Shrink CSS source positions to explicit 32-bit counters. Guard the C++
and Rust tokenizer paths against overflow. Add size assertions for the
hot Token and ComponentValue types so future growth is intentional.
2026-06-13 14:57:52 +02:00
..
ArbitrarySubstitutionFunctions.cpp LibWeb: Store custom property names as UTF-16 2026-06-09 11:48:02 +02:00
ArbitrarySubstitutionFunctions.h LibWeb: Avoid copying ASF argument component values 2026-06-03 22:28:54 +02:00
ComponentValue.cpp LibWeb/CSS: Store source positions on CSS rules 2026-06-04 20:54:33 +01:00
ComponentValue.h LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
DescriptorParsing.cpp LibWeb: Store CSS descriptor names as UTF-16 2026-06-09 11:48:02 +02:00
ErrorReporter.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
ErrorReporter.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
GradientParsing.cpp LibWeb: Explicitly pass calculation context when parsing 2026-04-22 14:24:12 +01:00
Helpers.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
MediaParsing.cpp LibWeb/CSS: Maintain rule-parsing context when converting to CSSRules 2026-05-22 10:00:42 +01:00
Parser.cpp LibWeb: Remove FlyString property-name overload 2026-06-09 11:48:02 +02:00
Parser.h LibWeb/CSS: Implement contrast-color() function 2026-06-09 17:23:26 +02:00
PropertyParsing.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
RuleContext.cpp LibWeb/CSS: Implement the @scope rule 2026-05-22 10:00:42 +01:00
RuleContext.h LibWeb/CSS: Implement the @scope rule 2026-05-22 10:00:42 +01:00
RuleParsing.cpp LibWeb: Store custom property names as UTF-16 2026-06-09 11:48:02 +02:00
RustTokenizer.cpp LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
RustTokenizer.h LibWeb: Honor requested CSS tokenizer encoding 2026-05-18 14:08:22 +02:00
SelectorParsing.cpp LibWeb/CSS: Insert a combinator before all pseudo-element selectors 2026-05-13 11:03:02 +01:00
SourcePosition.h LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
Syntax.cpp LibWeb: Limit <ident> to <custom-ident> in @property/syntax 2026-03-26 01:11:39 +00:00
Syntax.h LibWeb: Limit <ident> to <custom-ident> in @property/syntax 2026-03-26 01:11:39 +00:00
SyntaxParsing.cpp LibWeb: Explicitly pass calculation context when parsing 2026-04-22 14:24:12 +01:00
SyntaxParsing.h LibWeb: Expose parse_syntax_component 2026-03-27 11:19:28 +00:00
Token.cpp LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
Token.h LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
Tokenizer.cpp LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
Tokenizer.h LibWeb/CSS: Move Token::Position into SourcePosition 2026-06-04 20:54:33 +01:00
TokenStream.h LibWeb/CSS: Un-deprecate TokenStream::peek_token() 2026-04-16 14:52:22 +01:00
Types.cpp LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
Types.h LibWeb: Reduce CSS parser token memory usage 2026-06-13 14:57:52 +02:00
ValueParsing.cpp LibWeb/CSS: Implement contrast-color() function 2026-06-09 17:23:26 +02:00