Title: [295016] trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
Revision
295016
Author
za...@apple.com
Date
2022-05-29 08:34:33 -0700 (Sun, 29 May 2022)

Log Message

Add support for align-self
https://bugs.webkit.org/show_bug.cgi?id=241071

Reviewed by Antti Koivisto.

Align-items behavior can be overwritten for individual flex items by applying the align-self property to them.

* Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::alignFlexItems):

Canonical link: https://commits.webkit.org/251111@main

Modified Paths

Diff

Modified: trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp (295015 => 295016)


--- trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp	2022-05-29 14:03:48 UTC (rev 295015)
+++ trunk/Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp	2022-05-29 15:34:33 UTC (rev 295016)
@@ -428,10 +428,12 @@
 void FlexFormattingContext::alignFlexItems(LogicalFlexItems& logicalFlexItemList, LayoutUnit availableSpace)
 {
     // FIXME: Check if height computation and vertical alignment should merge.
-    auto alignItems = root().style().alignItems();
+    auto flexBoxAlignItems = root().style().alignItems();
 
     for (auto& logicalFlexItem : logicalFlexItemList) {
-        switch (alignItems.position()) {
+        auto& flexItemAlignSelf = logicalFlexItem.layoutBox->style().alignSelf();
+        auto alignValue = flexItemAlignSelf.position() != ItemPosition::Auto ? flexItemAlignSelf : flexBoxAlignItems;
+        switch (alignValue.position()) {
         case ItemPosition::Normal:
         case ItemPosition::Stretch:
             logicalFlexItem.rect.setTop({ });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to