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

Reply via email to