Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b625ca0f27952dc40a77e264bbeafa44e11b4e23
https://github.com/WebKit/WebKit/commit/b625ca0f27952dc40a77e264bbeafa44e11b4e23
Author: Alan Baradlay <[email protected]>
Date: 2026-07-17 (Fri, 17 Jul 2026)
Changed paths:
M Source/WebCore/rendering/RenderFlexLayout.cpp
M Source/WebCore/rendering/RenderFlexLayout.h
M Source/WebCore/rendering/RenderFlexibleBox.cpp
M Source/WebCore/rendering/RenderFlexibleBox.h
Log Message:
-----------
[cleanup] Drop RelayoutChildren from FlexLayout (carry it on FlexLayoutItem)
and rename its layout entry points
https://bugs.webkit.org/show_bug.cgi?id=318643
Reviewed by Antti Koivisto.
FlexLayout threaded the render-tree RelayoutChildren flag through layout() and
layoutFlexItems only to
hand it to RenderFlexibleBox's per-item layout, even though FlexLayout is meant
to reach the render tree
only through the container. The flag is really a property of each item
RenderFlexibleBox collects.
Carry it on FlexLayoutItem as shouldInvalidateChildContent, set in
collectFlexItems from
relayoutChildren == RelayoutChildren::Yes, and read it in
layoutFlexItemWithMainSize. FlexLayout no
longer mentions RelayoutChildren, and the multi-line-column re-resolve no
longer passes
RelayoutChildren::No: that was already a no-op, because the
!hasFlexItemCompletedLayout guard makes a
re-layout non-forcing regardless.
While here, rename for clarity, mirroring the LFC Layout::FlexLayout the legacy
path converges on:
performFlexLayout becomes layout, and layoutFlexItemAfterMainSizing becomes
layoutFlexItemWithMainSize
(the point is that the flexed main size is imposed on the item, not that it
runs "after" a step). The
line-positioning lambda becomes computeFlexLineCrossPositions (it fills
flexLinesCrossPositionList; the
used cross size, 9.6 #15, is resolved later in
updateFlexContainerLogicalHeight), which also fixes a
comment that labeled it 9.6 ahead of the 9.5 main-axis step that necessarily
precedes it.
No change in behavior.
* Source/WebCore/rendering/RenderFlexLayout.cpp:
* Source/WebCore/rendering/RenderFlexLayout.h:
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
* Source/WebCore/rendering/RenderFlexibleBox.h:
Canonical link: https://commits.webkit.org/317429@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications