LibWeb/CSS: Correct how we evaluate boolean media-features

The spec has a general rule for this, which is roughly that "If it's not
a falsey value, it's true". However, a couple of media-features are
always false, apparently breaking this rule. To handle that, we have an
array of false keywords in the JSON, instead of a single keyword. For
those always-false media-features, we can enter all their values into
this array.

Gets us 2 more WPT subtest passes.
This commit is contained in:
Sam Atkins 2025-05-22 17:02:44 +01:00
parent 00617884a6
commit fb975cc156
Notes: github-actions[bot] 2025-05-23 09:18:59 +00:00
5 changed files with 107 additions and 14 deletions

View file

@ -2,8 +2,7 @@ Harness status: OK
Found 23 tests
21 Pass
2 Fail
23 Pass
Pass Should be known: '(dynamic-range: standard)'
Pass Should be known: '(dynamic-range: high)'
Pass Should be known: '(video-dynamic-range: standard)'
@ -22,8 +21,8 @@ Pass Should be parseable: '(video-dynamic-range: 10px)'
Pass Should be unknown: '(video-dynamic-range: 10px)'
Pass Should be parseable: '(video-dynamic-range: invalid)'
Pass Should be unknown: '(video-dynamic-range: invalid)'
Fail Check that dynamic-range evaluates to false in the boolean context
Fail Check that video-dynamic-range evaluates to false in the boolean context
Pass Check that dynamic-range evaluates to false in the boolean context
Pass Check that video-dynamic-range evaluates to false in the boolean context
Pass Check that dynamic-range always matches 'standard'
Pass Check that video-dynamic-range always matches 'standard'
Pass Check that video-dynamic-range is not 'invalid'