github web-platform-tests/wpt merge_pr_45954

latest releases: merge_pr_49470, epochs/three_hourly/2024-12-03_06H, epochs/six_hourly/2024-12-03_06H...
11 months ago

[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}

Don't miss a new wpt release

NewReleases is sending notifications on new releases.