Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 30bbc8f0d935a6b81044242f0e9dfd2631862776
https://github.com/WebKit/WebKit/commit/30bbc8f0d935a6b81044242f0e9dfd2631862776
Author: Alan Baradlay <[email protected]>
Date: 2026-07-11 (Sat, 11 Jul 2026)
Changed paths:
M Source/WebCore/rendering/RenderFlexibleBox.cpp
M Source/WebCore/rendering/RenderFlexibleBox.h
Log Message:
-----------
[cleanup] Track the flexible-length resolution's frozen flag and violations
as local lists instead of on FlexLayoutItem
https://bugs.webkit.org/show_bug.cgi?id=318509
Reviewed by Antti Koivisto.
The flexible-length resolution (CSS Flexbox 9.7) tracked each item's frozen
state as a bool on FlexLayoutItem and collected the min/max violations as
Vector<FlexLayoutItem*>. FlexLayout::layout keeps this state local to the
resolution instead -- a Vector<bool> for the frozen set and Vector<size_t> index
lists for the violations -- leaving the flex item immutable. Match that shape.
resolveFlexibleLengthsForLineItems now owns a local Vector<bool> frozen and
threads it (with the item span) through freezeInflexibleItems,
resolveFlexibleLengths, and freezeViolations, which index into the span rather
than dereference stored pointers. The frozen flag was already reset to false on
entry every call, so it was function-scoped scratch, and nothing outside these
three helpers read it. No change in behavior.
* Source/WebCore/rendering/RenderFlexibleBox.h:
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::resolveFlexibleLengthsForLineItems):
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::freezeInflexibleItems):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
Canonical link: https://commits.webkit.org/316962@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications