layout: Add *very* basic support for table layout (#31121)

* layout: Add *very* basic support for table layout

This is the first step to proper table layout. It implements a naive
layout algorithm, notably only taking into account the preferred widths
of the first table row. Still, it causes some float tests to start
passing, so turn on the `layout.tables.enabled` preference for those
directories.

Co-authored-by: Oriol Brufau <obrufau@igalia.com>

* Address review comments

* Fix a crash with rowspan=0

* Turn on pref and update results for `/css/css-tables` and `/css/CSS2/tables`

---------

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Martin Robinson 2024-01-19 14:20:20 +01:00 committed by GitHub
parent 3d520f2668
commit fc31e69f79
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
115 changed files with 842 additions and 315 deletions

View file

@ -1,9 +1,3 @@
[distribution-algo-1.html]
[The box should be 300px since that is the size of the content]
expected: FAIL
[The first cell is 100px wide due to its content's size]
expected: FAIL
[The first cell is 200px wide due to its content's size]
expected: FAIL

View file

@ -1,9 +1,3 @@
[distribution-algo-2.html]
[The box should be 300px since that is the size of the content]
expected: FAIL
[The first cell is 100px wide due to its content's size]
expected: FAIL
[The first cell is 200px wide due to its content's size]
expected: FAIL

View file

@ -1,9 +1,3 @@
[distribution-algo-min-content-guess.html]
[The box should be 300px since that is the size of the content]
expected: FAIL
[The first cell is 100px wide due to its content's size]
expected: FAIL
[The first cell is 200px wide due to its content's size]
expected: FAIL

View file

@ -1,3 +1,6 @@
[distribution-algo-min-content-percent-guess.html]
[The second cell is 200px due to the 50% set on the first cell and the second gets distributed the remaining space since its auto]
expected: FAIL
[The first cell is 200px due to its 50% specified width is greater than ]
expected: FAIL

View file

@ -1,3 +0,0 @@
[distribution-algo-min-content-specified-guess.1.html]
[The box should be 75px due to its min-content size.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[distribution-algo-min-content-specified-guess.html]
[The box should be 75px due to its min-content size.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[td-with-subpixel-padding-vertical-rl.html]
[td-with-subpixel-padding-vertical-rl]
expected: FAIL

View file

@ -0,0 +1,3 @@
[td-with-subpixel-padding.html]
[td-with-subpixel-padding]
expected: FAIL