ladybird/Libraries/LibWeb/CSS/Parser
Sam Atkins 89b59cb5c3 LibWeb/CSS: Implement env() as an arbitrary substitution function
Technically, env() should not be an ASF. (😱) This is why some tests
still fail - env() as specced is expected to have its syntax checked
fully at parse-time, whereas ASFs are not properly syntax-checked until
later. However, I think this approach was worth doing for a few reasons:

- env() behaves like an ASF otherwise. (It is replaced with a set of
  arbitrary component-values that are not known until computed-value
  time.)
- env() was defined before the ASF concept existed, so I strongly
  suspect it will be updated in the future to match that definition,
  with a couple of adjustments. (eg, env() is allowed in some extra
  places compared to var() and attr().)
- This was much quicker and easier to implement (under 3 hours in total)
  compared to the greater amount of work to implement a whole separate
  system just for env().
- Most of these tests are marked tentative, and the spec definition of
  env() is still somewhat in flux, so failing some is not a huge deal.

If in the future I turn out to be wrong on this, we can convert it to
its own special thing.
2025-08-07 16:38:29 +02:00
..
ArbitrarySubstitutionFunctions.cpp LibWeb/CSS: Implement env() as an arbitrary substitution function 2025-08-07 16:38:29 +02:00
ArbitrarySubstitutionFunctions.h LibWeb/CSS: Implement env() as an arbitrary substitution function 2025-08-07 16:38:29 +02:00
ComponentValue.cpp LibWeb/CSS: Include guaranteed-invalid value in ComponentValue 2025-07-09 16:44:20 +01:00
ComponentValue.h LibWeb: Implement faster equals() for UnresolvedStyleValue 2025-07-30 11:06:05 +02:00
DescriptorParsing.cpp LibWeb/CSS: Use ErrorReporter for property/descriptor parsing errors 2025-08-04 10:50:09 +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 WebContent+LibWeb/CSS: Add debug request to dump CSS errors 2025-08-04 10:50:09 +01:00
GradientParsing.cpp LibWeb/CSS: Remove unused Debug.h include from GradientParsing.cpp 2025-08-04 10:50:09 +01:00
Helpers.cpp LibWeb/CSS: Add CSS.registerProperty JS method 2025-07-22 10:57:54 +01:00
MediaParsing.cpp LibWeb/CSS: Use ErrorReporter for media query parsing 2025-08-04 10:50:09 +01:00
Parser.cpp LibWeb/CSS: Use ErrorReporter for property/descriptor parsing errors 2025-08-04 10:50:09 +01:00
Parser.h LibWeb/CSS: Parse mask shorthand-property into longhands 2025-08-06 23:09:07 +01:00
PropertyParsing.cpp LibWeb/CSS: Parse mask shorthand-property into longhands 2025-08-06 23:09:07 +01: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: Parse initial value using syntax from @property 2025-08-04 11:08:46 +01:00
SelectorParsing.cpp LibWeb/CSS: Use ErrorReporter for selector parsing errors 2025-08-04 10:50:09 +01:00
Syntax.cpp LibWeb/CSS: Implement "parse with a <syntax>" 2025-07-16 14:47:45 +01:00
Syntax.h LibWeb/CSS: Implement "parse with a <syntax>" 2025-07-16 14:47:45 +01:00
SyntaxParsing.cpp LibWeb/CSS: Use ErrorReporter for value-parsing errors 2025-08-04 10:50:09 +01:00
SyntaxParsing.h LibWeb/CSS: Implement "parse with a <syntax>" 2025-07-16 14:47:45 +01:00
Token.cpp LibWeb/CSS: Construct all CSS Tokens in a consistent way 2025-07-09 15:04:57 +01:00
Token.h LibWeb/CSS: Add dump_string() method to TokenStream 2025-08-04 10:50:09 +01:00
Tokenizer.cpp LibWeb/CSS: Stop converting at-rule names to lowercase 2025-07-09 15:04:57 +01:00
Tokenizer.h LibWeb/CSS: Construct all CSS Tokens in a consistent way 2025-07-09 15:04:57 +01:00
TokenStream.h LibWeb/CSS: Add dump_string() method to TokenStream 2025-08-04 10:50:09 +01:00
Types.cpp LibWeb/CSS: Implement env() as an arbitrary substitution function 2025-08-07 16:38:29 +02:00
Types.h LibWeb/CSS: Implement env() as an arbitrary substitution function 2025-08-07 16:38:29 +02:00
ValueParsing.cpp LibWeb/CSS: Hyphenate request-url-modifier names 2025-08-07 13:38:25 +01:00