Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e40d6ccd5ea29036171b8b1d74bf2eac13459c03
https://github.com/WebKit/WebKit/commit/e40d6ccd5ea29036171b8b1d74bf2eac13459c03
Author: Alan Baradlay <[email protected]>
Date: 2026-04-07 (Tue, 07 Apr 2026)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-multiple-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-multiple-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-multiple.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-wrap-reverse-baseline-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-wrap-reverse-baseline-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-wrap-reverse-baseline.html
M Source/WebCore/rendering/OrderIterator.cpp
Log Message:
-----------
Flex items with different order values cause wrong baseline alignment
https://bugs.webkit.org/show_bug.cgi?id=311536
Reviewed by Antti Koivisto.
When a flex container's baseline is computed and items have different
order values (e.g. order:1, order:2, order:3), the last baseline should
come from the item with the highest order value. To find it,
OrderIterator::reverse() is supposed to iterate order values from highest
to lowest.
The old code tried to reverse a std::set by re-inserting its elements in
reverse - but a set is always sorted, so the "reversal" was a no-op. The
reversed iterator still visited order values low-to-high, picking the
wrong item for the baseline.
The fix: instead of reversing the set, walk it backward. reset() starts
the iterator at the last element, and next() decrements instead of
incrementing when reversed.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-multiple-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-multiple-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-multiple.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-last-baseline.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-wrap-reverse-baseline-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-wrap-reverse-baseline-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flex-order-wrap-reverse-baseline.html:
Added.
* Source/WebCore/rendering/OrderIterator.cpp:
(WebCore::OrderIterator::next):
(WebCore::OrderIterator::reset):
(WebCore::OrderIterator::reverse):
Canonical link: https://commits.webkit.org/310704@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications