ladybird/Userland/Libraries/LibWeb/CSS/Parser
Sam Atkins d0f80b40b2 LibWeb: Reimplement CalculatedStyleValue as a calculation node tree
VALUES-4 defines the internal representation of `calc()` as a tree of
calculation nodes. ( https://www.w3.org/TR/css-values-4/#calc-internal )

VALUES-3 lacked any definition here, so we had our own ad-hoc
implementation based around the spec grammar. This commit replaces that
with CalculationNodes representing each possible node in the tree.

There are no intended functional changes, though we do now support
nested calc() which previously did not work. For example:
    `width: calc( 42 * calc(3 + 7) );`

I have added an example of this to our test page.

A couple of the layout tests that used `calc()` now return values that
are 0.5px different from before. There's no visual difference, so I
have updated the tests to use the new results.
2023-04-13 09:53:47 +02:00
..
Block.cpp LibWeb: Port CSS::Parser::Block to new Strings 2023-02-15 12:48:26 -05:00
Block.h LibWeb: Port CSS::Parser::Block to new Strings 2023-02-15 12:48:26 -05:00
ComponentValue.cpp LibWeb: Port CSS::Parser::ComponentValue to new Strings 2023-02-15 12:48:26 -05:00
ComponentValue.h LibWeb+LibIDL: Fix (or paper over) various const-correctness issues 2023-02-21 00:54:04 +01:00
Declaration.cpp LibWeb: Port CSS/Serialize.{h,cpp} to new Strings, and propagate errors 2023-02-15 12:48:26 -05:00
Declaration.h LibWeb: Port CSS::Parser::Declaration to new Strings 2023-02-15 12:48:26 -05:00
DeclarationOrAtRule.cpp LibWeb: Port CSS::Parser::Rule to new Strings 2023-02-15 12:48:26 -05:00
DeclarationOrAtRule.h LibWeb: Port CSS::Parser::Rule to new Strings 2023-02-15 12:48:26 -05:00
Function.cpp LibWeb: Port CSS/Serialize.{h,cpp} to new Strings, and propagate errors 2023-02-15 12:48:26 -05:00
Function.h LibWeb: Port CSS::Parser::Function to new Strings 2023-02-15 12:48:26 -05:00
Parser.cpp LibWeb: Reimplement CalculatedStyleValue as a calculation node tree 2023-04-13 09:53:47 +02:00
Parser.h LibWeb: Reimplement CalculatedStyleValue as a calculation node tree 2023-04-13 09:53:47 +02:00
Rule.cpp LibWeb: Port CSS::Parser::Rule to new Strings 2023-02-15 12:48:26 -05:00
Rule.h LibWeb: Port CSS::Parser::Rule to new Strings 2023-02-15 12:48:26 -05:00
Token.cpp Everywhere: Use _{short_,}string to create Strings from literals 2023-02-25 20:51:49 +01:00
Token.h LibWeb: Store the original representation of CSS tokens 2023-03-22 19:45:40 +01:00
Tokenizer.cpp LibWeb: Store the original representation of CSS tokens 2023-03-22 19:45:40 +01:00
Tokenizer.h LibWeb: Store the original representation of CSS tokens 2023-03-22 19:45:40 +01:00
TokenStream.h LibWeb: Propagate errors from CSS Parser construction 2023-03-07 00:43:36 +01:00