Bug 1938619 - Add a pref (disabled by default) to enable intrinsic sizing of flexible grid tracks based on grid items that span multiple tracks. r=layout-grid-reviewers,dholbert

The pref layout.css.grid-flex-spanning-items-intrinsic-sizing.enabled is
expected to be removed once these regressions are fixed. This should be a good
compromise between maintaining the code from bug 1916849, and avoiding
breakage/extra backouts.

Differential Revision: https://phabricator.services.mozilla.com/D235089
This commit is contained in:
Emily McDonough
2025-01-24 06:30:03 +00:00
parent 88b4df5d57
commit 87603e55fc
5 changed files with 131 additions and 0 deletions

View File

@@ -6814,6 +6814,10 @@ void nsGridContainerFrame::Tracks::ResolveIntrinsicSize(
// Set eIsFlexing on the item state here to speed up
// FindUsedFlexFraction later.
gridItem.mState[mAxis] |= ItemState::eIsFlexing;
if (!StaticPrefs::
layout_css_grid_flex_spanning_items_intrinsic_sizing_enabled()) {
continue;
}
items = &flexSpanningItems;
}