layout: Improve layout of table captions (#32695)

- Instead of treating captions as a `BlockFormattingContext`, treat it as
  a `NonReplacedFormattingContext`, which allows reusing flow layout for
  captions -- fixing some issues with sizing.
- Pass in the proper size of the containing block when laying out,
  fixing margin calculation.
- Follow the unspecified rules about how various size properties on
  captions affect their size.
- Improve linebreaking around atomics, which is tested by
  caption-related tests. This fixes intrinsic size calculation regarding
  soft wrap opportunities around atomic and also makes the code making
  these actual soft wrap opportunities a bit better.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This commit is contained in:
Martin Robinson 2024-07-08 14:58:38 +02:00 committed by GitHub
parent 2888193cfe
commit 89944bd330
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 225 additions and 454 deletions

View file

@ -14,27 +14,12 @@
[display: inline - available width: 300px]
expected: FAIL
[display: inline-block - available width: 50px]
expected: FAIL
[display: inline-block - available width: 200px]
expected: FAIL
[display: list-item - available width: 50px]
expected: FAIL
[display: list-item - available width: 300px]
expected: FAIL
[display: table - available width: 50px]
expected: FAIL
[display: table-row - available width: 50px]
expected: FAIL
[display: table-cell - available width: 50px]
expected: FAIL
[float: left - available width: 50px]
expected: FAIL
@ -43,12 +28,3 @@
[float: left - available width: 300px]
expected: FAIL
[display: table - available width: 200px]
expected: FAIL
[display: table-row - available width: 200px]
expected: FAIL
[display: table-cell - available width: 200px]
expected: FAIL