layout: Improve distribution colspan cell inline size (#35095)

We previously tried to implement the [table specification algorithm] for
distributing the inline size of cells with `rowspan` > 1. This algorithm
isn't great though, so this change starts switching Servo to using an
algorithm like the one used in LayoutNG from blink. This leads to
improvements in test results.

Limitations:
 - Currently, non-fixed layout mode is handled, but a followup change will
   very likely addressed fixed mode tables.
 - Column merging is not handled at all.

Fixes #6578.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Martin Robinson 2025-01-21 14:29:55 +01:00 committed by GitHub
parent d00d76c1e8
commit c17668bb0e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 282 additions and 417 deletions

View file

@ -1,6 +0,0 @@
[col-span-limits.html]
[col span of 1000 must work]
expected: FAIL
[col span of 1001 must be treated as 1000]
expected: FAIL