Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f10662fe88d05adea16c6cdccd850905acd342f2
      
https://github.com/WebKit/WebKit/commit/f10662fe88d05adea16c6cdccd850905acd342f2
  Author: Brandon Stewart <[email protected]>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp
    M Source/WebCore/rendering/GridTrackSizingAlgorithm.h

  Log Message:
  -----------
  [masonry] Optimize items that span multiple tracks
https://bugs.webkit.org/show_bug.cgi?id=276733
rdar://problem/132435056

Reviewed by Sammy Gill and Yusuke Suzuki.

The implementation is split up into several steps.

1. Gather indefinite items into groups, and calculate their min/max sizes. 
Definite items
should be documented for later use too.

2. Update intrinsic tracks with single span items.

3. Convert indefinite items to definite items.

3. Update instrinsic tracks with multi span items that do not cross a flex 
track.

4. Update flex tracks with items that are single or multi span that cross a 
flex track.

Note: This masonry implementation does not support Subgrid at this point.

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:
 (WebCore::GridTrackSizingAlgorithm::computeTrackBasedSize const):
 (WebCore::GridTrackSizingAlgorithm::sizeTrackToFitSingleSpanMasonryGroup):
 
(WebCore::GridTrackSizingAlgorithm::itemSizeForTrackSizeComputationPhaseMasonry 
const):
 
(WebCore::GridTrackSizingAlgorithm::increaseSizesToAccommodateSpanningItemsMasonry):
 
(WebCore::GridTrackSizingAlgorithm::increaseSizesToAccommodateSpanningItemsMasonryWithFlex):
 (WebCore::GridTrackSizingAlgorithm::convertIndefiniteItemsToDefiniteMasonry):
 (WebCore::GridTrackSizingAlgorithm::distributeSpaceToTracks const):
 (WebCore::GridTrackSizingAlgorithmStrategy::minContentForGridItem const):
 (WebCore::GridTrackSizingAlgorithm::canParticipateInBaselineAlignment const):
 (WebCore::GridTrackSizingAlgorithm::computeIndefiniteItemsForMasonry):
 (WebCore::GridTrackSizingAlgorithm::resolveIntrinsicTrackSizesMasonry):
 (WebCore::GridTrackSizingAlgorithm::accumulateIntrinsicSizesForTrackMasonry): 
Deleted.
 (WebCore::GridTrackSizingAlgorithm::computeIndefiniteItemsForMasonry const): 
Deleted.
* Source/WebCore/rendering/GridTrackSizingAlgorithm.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to