layout: Add support for table border-spacing (#31166)

This adds support for table `border-spacing` property. Note that we do
not yet support the collapsed border model.

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Martin Robinson 2024-01-26 17:07:08 +01:00 committed by GitHub
parent a5c512808a
commit 1876b49251
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
39 changed files with 67 additions and 448 deletions

View file

@ -1,2 +0,0 @@
[floats-153.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[border-collapse-offset-001.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[separated-border-model-004a.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[separated-border-model-004b.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[separated-border-model-007.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[separated-border-model-008.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[separated-border-model-009.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[table-backgrounds-bs-cell-001.xht]
expected: FAIL

View file

@ -1,2 +0,0 @@
[table-margin-004.xht]
expected: FAIL

View file

@ -1,10 +1,4 @@
[absolute-tables-003.html]
[.table 1]
expected: FAIL
[.table 2]
expected: FAIL
[.table 3]
expected: FAIL

View file

@ -1,58 +1,4 @@
[border-spacing-interpolation.html]
[CSS Transitions: property <border-spacing> from neutral to [20px\] at (-0.3) should be [7px 7px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from neutral to [20px\] at (0) should be [10px 10px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from neutral to [20px\] at (0.3) should be [13px 13px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from neutral to [20px\] at (0.6) should be [16px 16px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from neutral to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from neutral to [20px\] at (1.5) should be [25px 25px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from neutral to [20px\] at (-0.3) should be [7px 7px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from neutral to [20px\] at (0) should be [10px 10px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from neutral to [20px\] at (0.3) should be [13px 13px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from neutral to [20px\] at (0.6) should be [16px 16px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from neutral to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from neutral to [20px\] at (1.5) should be [25px 25px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from neutral to [20px\] at (-0.3) should be [7px 7px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from neutral to [20px\] at (0) should be [10px 10px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from neutral to [20px\] at (0.3) should be [13px 13px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from neutral to [20px\] at (0.6) should be [16px 16px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from neutral to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from neutral to [20px\] at (1.5) should be [25px 25px\]]
expected: FAIL
[Web Animations: property <border-spacing> from neutral to [20px\] at (-0.3) should be [7px 7px\]]
expected: FAIL
@ -71,60 +17,6 @@
[Web Animations: property <border-spacing> from neutral to [20px\] at (1.5) should be [25px 25px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [initial\] to [20px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [initial\] to [20px\] at (0) should be [0px 0px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [initial\] to [20px\] at (0.3) should be [6px 6px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [initial\] to [20px\] at (0.6) should be [12px 12px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [initial\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [initial\] to [20px\] at (1.5) should be [30px 30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [initial\] to [20px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [initial\] to [20px\] at (0) should be [0px 0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [initial\] to [20px\] at (0.3) should be [6px 6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [initial\] to [20px\] at (0.6) should be [12px 12px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [initial\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [initial\] to [20px\] at (1.5) should be [30px 30px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [initial\] to [20px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [initial\] to [20px\] at (0) should be [0px 0px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [initial\] to [20px\] at (0.3) should be [6px 6px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [initial\] to [20px\] at (0.6) should be [12px 12px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [initial\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [initial\] to [20px\] at (1.5) should be [30px 30px\]]
expected: FAIL
[Web Animations: property <border-spacing> from [initial\] to [20px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
@ -143,60 +35,6 @@
[Web Animations: property <border-spacing> from [initial\] to [20px\] at (1.5) should be [30px 30px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [inherit\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [inherit\] to [20px\] at (0) should be [30px 30px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [inherit\] to [20px\] at (0.3) should be [27px 27px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [inherit\] to [20px\] at (0.6) should be [24px 24px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [inherit\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [inherit\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [inherit\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [inherit\] to [20px\] at (0) should be [30px 30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [inherit\] to [20px\] at (0.3) should be [27px 27px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [inherit\] to [20px\] at (0.6) should be [24px 24px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [inherit\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [inherit\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [inherit\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [inherit\] to [20px\] at (0) should be [30px 30px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [inherit\] to [20px\] at (0.3) should be [27px 27px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [inherit\] to [20px\] at (0.6) should be [24px 24px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [inherit\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [inherit\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[Web Animations: property <border-spacing> from [inherit\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
@ -215,60 +53,6 @@
[Web Animations: property <border-spacing> from [inherit\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [unset\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [unset\] to [20px\] at (0) should be [30px 30px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [unset\] to [20px\] at (0.3) should be [27px 27px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [unset\] to [20px\] at (0.6) should be [24px 24px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [unset\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [unset\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [unset\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [unset\] to [20px\] at (0) should be [30px 30px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [unset\] to [20px\] at (0.3) should be [27px 27px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [unset\] to [20px\] at (0.6) should be [24px 24px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [unset\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [unset\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [unset\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [unset\] to [20px\] at (0) should be [30px 30px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [unset\] to [20px\] at (0.3) should be [27px 27px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [unset\] to [20px\] at (0.6) should be [24px 24px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [unset\] to [20px\] at (1) should be [20px 20px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [unset\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[Web Animations: property <border-spacing> from [unset\] to [20px\] at (-0.3) should be [33px 33px\]]
expected: FAIL
@ -287,60 +71,6 @@
[Web Animations: property <border-spacing> from [unset\] to [20px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [0px\] to [10px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [0px\] to [10px\] at (0) should be [0px 0px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [0px\] to [10px\] at (0.3) should be [3px 3px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [0px\] to [10px\] at (0.6) should be [6px 6px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [0px\] to [10px\] at (1) should be [10px 10px\]]
expected: FAIL
[CSS Transitions: property <border-spacing> from [0px\] to [10px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [0px\] to [10px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [0px\] to [10px\] at (0) should be [0px 0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [0px\] to [10px\] at (0.3) should be [3px 3px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [0px\] to [10px\] at (0.6) should be [6px 6px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [0px\] to [10px\] at (1) should be [10px 10px\]]
expected: FAIL
[CSS Transitions with transition: all: property <border-spacing> from [0px\] to [10px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [0px\] to [10px\] at (-0.3) should be [0px 0px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [0px\] to [10px\] at (0) should be [0px 0px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [0px\] to [10px\] at (0.3) should be [3px 3px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [0px\] to [10px\] at (0.6) should be [6px 6px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [0px\] to [10px\] at (1) should be [10px 10px\]]
expected: FAIL
[CSS Animations: property <border-spacing> from [0px\] to [10px\] at (1.5) should be [15px 15px\]]
expected: FAIL
[Web Animations: property <border-spacing> from [0px\] to [10px\] at (-0.3) should be [0px 0px\]]
expected: FAIL

View file

@ -0,0 +1,3 @@
[auto-layout-calc-width-001.html]
[#theTable 1]
expected: FAIL

View file

@ -0,0 +1,2 @@
[border-collapse-dynamic-section.html]
expected: FAIL

View file

@ -1,7 +1,4 @@
[bounding-box-computation-1.html]
[Table-cell is 100px wide]
expected: FAIL
[Table-cell is 100px tall]
expected: FAIL

View file

@ -2,9 +2,6 @@
[Control test: Table width is 120px]
expected: FAIL
[Control test: Table height is 120px]
expected: FAIL
[First (empty) table-row-group should be located at 10px left]
expected: FAIL

View file

@ -14,12 +14,6 @@
[main table 6]
expected: FAIL
[main table 7]
expected: FAIL
[main table 8]
expected: FAIL
[main table 10]
expected: FAIL

View file

@ -0,0 +1,3 @@
[fixed-layout-calc-width-001.html]
[#theTable 1]
expected: FAIL

View file

@ -0,0 +1,3 @@
[fixed-layout-excess-width-distribution-001.html]
[#theTable 1]
expected: FAIL

View file

@ -0,0 +1,6 @@
[fractional-percent-width.html]
[.cell 2]
expected: FAIL
[.cell 3]
expected: FAIL

View file

@ -2,9 +2,6 @@
[Control test for table-cell padding and border-spacing, etc (width)]
expected: FAIL
[Control test for table-cell padding and border-spacing (height)]
expected: FAIL
[Anonymous consecutive columns spanned by the same set of cells are merged]
expected: FAIL
@ -14,9 +11,6 @@
[Explicitely-defined consecutive columns spanned by the same set of cells are not merged]
expected: FAIL
[Explicitely-defined consecutive rows spanned by the same set of cells are not merged]
expected: FAIL
[Explicitely-defined consecutive columns spanned by the same set of cells are not merged, and cells span across border-spacing]
expected: FAIL

View file

@ -1,6 +1,3 @@
[html5-table-formatting-fixed-layout-1.html]
[Redundant columns of fixed-layout tables are not being merged]
expected: FAIL
[Redundant rows of fixed-layout tables are not being merged]
expected: FAIL

View file

@ -8,9 +8,6 @@
[Property border-spacing has initial value 0px 0px]
expected: FAIL
[Property border-spacing inherits]
expected: FAIL
[Property caption-side has initial value top]
expected: FAIL

View file

@ -0,0 +1,2 @@
[internal-containing-block-001.html]
expected: FAIL

View file

@ -1,12 +1,3 @@
[border-spacing-computed.html]
[Property border-spacing value '10px 20px']
expected: FAIL
[Property border-spacing value '0']
expected: FAIL
[Property border-spacing value 'calc(10px + 0.5em) calc(10px - 0.5em)']
expected: FAIL
[Property border-spacing value 'calc(10px - 0.5em) calc(10px + 0.5em)']
expected: FAIL

View file

@ -1,9 +0,0 @@
[border-spacing-valid.html]
[e.style['border-spacing'\] = "0px" should set the property value]
expected: FAIL
[e.style['border-spacing'\] = "10px 20px" should set the property value]
expected: FAIL
[e.style['border-spacing'\] = "calc(10px + 0.5em) calc(10px - 0.5em)" should set the property value]
expected: FAIL

View file

@ -11,9 +11,6 @@
[table 4]
expected: FAIL
[table 5]
expected: FAIL
[table 6]
expected: FAIL

View file

@ -5,9 +5,6 @@
[table 2]
expected: FAIL
[table 3]
expected: FAIL
[table 4]
expected: FAIL

View file

@ -11,9 +11,6 @@
[table 5]
expected: FAIL
[table 6]
expected: FAIL
[table 7]
expected: FAIL
@ -53,18 +50,9 @@
[table 19]
expected: FAIL
[table 20]
expected: FAIL
[table 21]
expected: FAIL
[table 22]
expected: FAIL
[table 23]
expected: FAIL
[table 24]
expected: FAIL

View file

@ -17,12 +17,6 @@
[table 6]
expected: FAIL
[table 7]
expected: FAIL
[table 8]
expected: FAIL
[table 9]
expected: FAIL
@ -44,15 +38,6 @@
[table 15]
expected: FAIL
[table 16]
expected: FAIL
[table 17]
expected: FAIL
[table 18]
expected: FAIL
[table 19]
expected: FAIL

View file

@ -5,12 +5,6 @@
[table 2]
expected: FAIL
[table 3]
expected: FAIL
[table 4]
expected: FAIL
[table 5]
expected: FAIL
@ -32,9 +26,6 @@
[table 11]
expected: FAIL
[table 12]
expected: FAIL
[table 13]
expected: FAIL

View file

@ -1,6 +1,3 @@
[visibility-collapse-col-004-dynamic.html]
[col visibility:collapse doesn't change table height]
expected: FAIL
[col visibility:collapse changes table width]
expected: FAIL

View file

@ -1,3 +1,6 @@
[visibility-collapse-col-005.html]
[col visibility:collapse changes table width]
expected: FAIL
[col visibility:collapse doesn't change table height]
expected: FAIL

View file

@ -1,24 +0,0 @@
[viewport-units-css2-001.html]
[vw length applied to border-spacing]
expected: FAIL
[vw length applied to border-spacing: getComputedStyle returns a non-zero px-based value]
expected: FAIL
[vh length applied to border-spacing]
expected: FAIL
[vh length applied to border-spacing: getComputedStyle returns a non-zero px-based value]
expected: FAIL
[vmin length applied to border-spacing]
expected: FAIL
[vmin length applied to border-spacing: getComputedStyle returns a non-zero px-based value]
expected: FAIL
[vmax length applied to border-spacing]
expected: FAIL
[vmax length applied to border-spacing: getComputedStyle returns a non-zero px-based value]
expected: FAIL

View file

@ -5,20 +5,8 @@
[You can't build up a single token where part of it is provided by a variable]
expected: FAIL
[Multiple variable references in a single property]
expected: FAIL
[Multiple variable references in a single property (no spaces)]
expected: FAIL
[Fallback value]
expected: FAIL
[Fallback value which is also a variable reference]
expected: FAIL
[Multiple var references in fallback value]
expected: FAIL
[Multiple nested fallbacks]
expected: FAIL

View file

@ -1,6 +0,0 @@
[cssom-setProperty-shorthand.html]
[shorthand border-spacing can be set with setProperty]
expected: FAIL
[shorthand border-spacing can be set with setProperty and priority !important]
expected: FAIL

View file

@ -92,18 +92,6 @@
[border-collapse: inherit]
expected: FAIL
[border-spacing: 0px]
expected: FAIL
[border-spacing: 1px]
expected: FAIL
[border-spacing: .1em]
expected: FAIL
[border-spacing: inherit]
expected: FAIL
[caption-side: top]
expected: FAIL

View file

@ -11,8 +11,5 @@
[calc for column-count]
expected: FAIL
[calc for border-spacing]
expected: FAIL
[calc for counter-increment]
expected: FAIL