Automatic update from web-platform-tests
[line-clamp] Initial implementation of `line-clamp: auto`
This CL implements `line-clamp: auto`, which allows line-clamping a
block container based on the value of the `height` and `max-height`
properties. This patch only implements this for line-clamp containers
which only contain an `InlineNode`, and it leaves the complexity of
clamping inside nested block boxes for follow-up CLs.
This implementation adds a new state to `LineClampData` called
`kClampByBfcOffset`, which stores the BFC offset into the line-clamp
container to clamp. This is set through
`BlockLineClampData::UpdateClampOffsetFromStyle` when the line-clamp
container starts layout.
After a box or line box is laid out, the BFC offset after that box is
compared against the clamp BFC offset. If it matches, then that offset
is used as the container's intrinsic size. However, if it goes past
the offset, and the previous box or line box did not go past it, then
the block box is relaid out, using the previous box's BFC offset as
the clamp BFC offset.
Bug: 40336192
Change-Id: Ifaed784fa855a9532bce2cc1fec34d518b43ef88
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5490736
Commit-Queue: Andreu Botella <abotella@igalia.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1303253}
--
wpt-commits: 76a4828ff61683e4c393fa28e186b179cb321610
wpt-pr: 45954