LibWeb: Implement dominant-baseline for SVG text

This property determines the default baseline used to align content
within the given box.
This commit is contained in:
Tim Ledbetter
2026-02-25 20:46:37 +00:00
committed by Jelle Raaijmakers
parent 90a211bf47
commit f05bc7c0cd
Notes: github-actions[bot] 2026-02-26 08:24:27 +00:00
25 changed files with 311 additions and 10 deletions

View File

@@ -12,6 +12,7 @@ All properties associated with getComputedStyle(document.body):
"color-scheme",
"cursor",
"direction",
"dominant-baseline",
"empty-cells",
"fill",
"fill-opacity",

View File

@@ -443,6 +443,8 @@ All supported properties and their default values exposed from CSSStylePropertie
'cy': '0px'
'direction': 'ltr'
'display': 'block'
'dominantBaseline': 'auto'
'dominant-baseline': 'auto'
'emptyCells': 'show'
'empty-cells': 'show'
'fill': 'rgb(0, 0, 0)'

View File

@@ -10,6 +10,7 @@ color-interpolation: srgb
color-scheme: normal
cursor: auto
direction: ltr
dominant-baseline: auto
empty-cells: show
fill: rgb(0, 0, 0)
fill-opacity: 1
@@ -102,7 +103,7 @@ background-position-x: 0%
background-position-y: 0%
background-repeat: repeat
background-size: auto
block-size: 1560px
block-size: 1575px
border-block-end-color: rgb(0, 0, 0)
border-block-end-style: none
border-block-end-width: 0px
@@ -188,7 +189,7 @@ grid-row-start: auto
grid-template-areas: none
grid-template-columns: none
grid-template-rows: none
height: 2850px
height: 2865px
inline-size: 784px
inset-block-end: auto
inset-block-start: auto

View File

@@ -1,8 +1,8 @@
Harness status: OK
Found 285 tests
Found 286 tests
281 Pass
282 Pass
4 Fail
Pass accent-color
Pass border-collapse
@@ -15,6 +15,7 @@ Pass color-interpolation
Pass color-scheme
Pass cursor
Pass direction
Pass dominant-baseline
Pass empty-cells
Pass fill
Pass fill-opacity

View File

@@ -0,0 +1,14 @@
Harness status: OK
Found 9 tests
9 Pass
Pass Property dominant-baseline value 'auto'
Pass Property dominant-baseline value 'text-bottom'
Pass Property dominant-baseline value 'alphabetic'
Pass Property dominant-baseline value 'ideographic'
Pass Property dominant-baseline value 'middle'
Pass Property dominant-baseline value 'central'
Pass Property dominant-baseline value 'mathematical'
Pass Property dominant-baseline value 'hanging'
Pass Property dominant-baseline value 'text-top'

View File

@@ -0,0 +1,9 @@
Harness status: OK
Found 4 tests
4 Pass
Pass e.style['dominant-baseline'] = "normal" should not set the property value
Pass e.style['dominant-baseline'] = "none" should not set the property value
Pass e.style['dominant-baseline'] = "alphabetic, ideographic" should not set the property value
Pass e.style['dominant-baseline'] = "middle central" should not set the property value

View File

@@ -0,0 +1,14 @@
Harness status: OK
Found 9 tests
9 Pass
Pass e.style['dominant-baseline'] = "auto" should set the property value
Pass e.style['dominant-baseline'] = "text-bottom" should set the property value
Pass e.style['dominant-baseline'] = "alphabetic" should set the property value
Pass e.style['dominant-baseline'] = "ideographic" should set the property value
Pass e.style['dominant-baseline'] = "middle" should set the property value
Pass e.style['dominant-baseline'] = "central" should set the property value
Pass e.style['dominant-baseline'] = "mathematical" should set the property value
Pass e.style['dominant-baseline'] = "hanging" should set the property value
Pass e.style['dominant-baseline'] = "text-top" should set the property value

View File

@@ -1,8 +1,8 @@
Harness status: OK
Found 48 tests
Found 49 tests
48 Pass
49 Pass
Pass clip-path presentation attribute supported on an irrelevant element
Pass clip-rule presentation attribute supported on an irrelevant element
Pass color presentation attribute supported on an irrelevant element
@@ -10,6 +10,7 @@ Pass color-interpolation presentation attribute supported on an irrelevant eleme
Pass cursor presentation attribute supported on an irrelevant element
Pass direction presentation attribute supported on an irrelevant element
Pass display presentation attribute supported on an irrelevant element
Pass dominant-baseline presentation attribute supported on an irrelevant element
Pass fill presentation attribute supported on an irrelevant element
Pass fill-opacity presentation attribute supported on an irrelevant element
Pass fill-rule presentation attribute supported on an irrelevant element

View File

@@ -1,8 +1,8 @@
Harness status: OK
Found 58 tests
Found 59 tests
57 Pass
58 Pass
1 Fail
Pass clip-path presentation attribute supported on a relevant element
Pass clip-rule presentation attribute supported on a relevant element
@@ -13,6 +13,7 @@ Pass cx presentation attribute supported on a relevant element
Pass cy presentation attribute supported on a relevant element
Pass direction presentation attribute supported on a relevant element
Pass display presentation attribute supported on a relevant element
Pass dominant-baseline presentation attribute supported on a relevant element
Pass fill presentation attribute supported on a relevant element
Pass fill-opacity presentation attribute supported on a relevant element
Pass fill-rule presentation attribute supported on a relevant element

View File

@@ -1,8 +1,8 @@
Harness status: OK
Found 48 tests
Found 49 tests
48 Pass
49 Pass
Pass clip-path presentation attribute supported on an unknown SVG element
Pass clip-rule presentation attribute supported on an unknown SVG element
Pass color presentation attribute supported on an unknown SVG element
@@ -10,6 +10,7 @@ Pass color-interpolation presentation attribute supported on an unknown SVG elem
Pass cursor presentation attribute supported on an unknown SVG element
Pass direction presentation attribute supported on an unknown SVG element
Pass display presentation attribute supported on an unknown SVG element
Pass dominant-baseline presentation attribute supported on an unknown SVG element
Pass fill presentation attribute supported on an unknown SVG element
Pass fill-opacity presentation attribute supported on an unknown SVG element
Pass fill-rule presentation attribute supported on an unknown SVG element