LibWeb/CSS: Implement calc-serialization spec algorithms

This gets us 37 new subtest passes in css/css-values, and 13 passes in
our other in-tree tests (and probably some random other ones!)

As noted in comments, a few parts of this algorithm have ad-hoc
behaviour to handle some issues in the spec.
This commit is contained in:
Sam Atkins 2025-02-26 14:08:20 +00:00 committed by Andreas Kling
commit a63879330f
Notes: github-actions[bot] 2025-02-27 20:43:46 +00:00
11 changed files with 412 additions and 54 deletions

View file

@ -2,8 +2,7 @@ Harness status: OK
Found 13 tests
12 Pass
1 Fail
13 Pass
Pass e.style['font-size'] = "xx-small" should set the property value
Pass e.style['font-size'] = "x-small" should set the property value
Pass e.style['font-size'] = "small" should set the property value
@ -16,4 +15,4 @@ Pass e.style['font-size'] = "larger" should set the property value
Pass e.style['font-size'] = "smaller" should set the property value
Pass e.style['font-size'] = "10px" should set the property value
Pass e.style['font-size'] = "20%" should set the property value
Fail e.style['font-size'] = "calc(30% - 40px)" should set the property value
Pass e.style['font-size'] = "calc(30% - 40px)" should set the property value