mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-05 15:49:15 +00:00
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.
|
||
---|---|---|
.. | ||
ArbitrarySubstitutionFunctions.cpp | ||
ArbitrarySubstitutionFunctions.h | ||
ComponentValue.cpp | ||
ComponentValue.h | ||
DescriptorParsing.cpp | ||
Dimension.h | ||
ErrorReporter.cpp | ||
ErrorReporter.h | ||
GradientParsing.cpp | ||
Helpers.cpp | ||
MediaParsing.cpp | ||
Parser.cpp | ||
Parser.h | ||
PropertyParsing.cpp | ||
RuleContext.cpp | ||
RuleContext.h | ||
RuleParsing.cpp | ||
SelectorParsing.cpp | ||
Syntax.cpp | ||
Syntax.h | ||
SyntaxParsing.cpp | ||
SyntaxParsing.h | ||
Token.cpp | ||
Token.h | ||
Tokenizer.cpp | ||
Tokenizer.h | ||
TokenStream.h | ||
Types.cpp | ||
Types.h | ||
ValueParsing.cpp |