Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c9d5b3f137ca209ef6ec4cd79dc1856377e5f4dd
https://github.com/WebKit/WebKit/commit/c9d5b3f137ca209ef6ec4cd79dc1856377e5f4dd
Author: Alan Baradlay <[email protected]>
Date: 2026-08-25 (Tue, 25 Aug 2026)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/block-in-inline-after-column-break-001-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/block-in-inline-after-column-break-001.html
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
Log Message:
-----------
A block level box on a line is left behind when a column break moves the line
https://bugs.webkit.org/show_bug.cgi?id=322487
<rdar://problem/185787568>
Reviewed by Antti Koivisto.
Line positions are adjusted for column and page breaks after inline layout has
finished, while a block level
box on a line is laid out by block layout during inline layout, at the position
the line had before that
adjustment. Moving the lines afterwards moved the display boxes but left the
block box's renderer where it
was, so it overlapped the line it is supposed to follow. A widow that made line
layout restart hid this,
which is why it took a case with no restart to see it.
Give the renderer the offset its line took, and let it lay out again in case
its own content breaks
differently at the new position.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/block-in-inline-after-column-break-001-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/block-in-inline-after-column-break-001.html:
Added.
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateRenderTreePositions):
(WebCore::LayoutIntegration::relayoutAfterPaginationOffset):
Canonical link: https://commits.webkit.org/319821@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications