@@ -49,7 +49,6 @@ typedef struct CSSLayout {
4949 float dimensions [2 ];
5050 CSSDirection direction ;
5151
52- uint32_t computedFlexBasisGeneration ;
5352 float computedFlexBasis ;
5453
5554 // Instead of recomputing the entire layout every single time, we
@@ -974,10 +973,14 @@ static void computeChildFlexBasis(const CSSNodeRef node,
974973 const bool isRowStyleDimDefined = isStyleDimDefined (child , CSSFlexDirectionRow );
975974 const bool isColumnStyleDimDefined = isStyleDimDefined (child , CSSFlexDirectionColumn );
976975
977- if (!CSSValueIsUndefined (CSSNodeStyleGetFlexBasis (child )) &&
978- !CSSValueIsUndefined (isMainAxisRow ? width : height )) {
979- if (CSSValueIsUndefined (child -> layout .computedFlexBasis ) ||
980- child -> layout .computedFlexBasisGeneration != gCurrentGenerationCount ) {
976+ if (CSSLayoutIsExperimentalFeatureEnabled (CSSExperimentalFeatureWebFlexBasis ) &&
977+ !CSSValueIsUndefined (CSSNodeStyleGetFlexBasis (child ))) {
978+ child -> layout .computedFlexBasis =
979+ fmaxf (CSSNodeStyleGetFlexBasis (child ), getPaddingAndBorderAxis (child , mainAxis ));
980+ } else if (!CSSLayoutIsExperimentalFeatureEnabled (CSSExperimentalFeatureWebFlexBasis ) &&
981+ !CSSValueIsUndefined (CSSNodeStyleGetFlexBasis (child )) &&
982+ !CSSValueIsUndefined (isMainAxisRow ? width : height )) {
983+ if (CSSValueIsUndefined (child -> layout .computedFlexBasis )) {
981984 child -> layout .computedFlexBasis =
982985 fmaxf (CSSNodeStyleGetFlexBasis (child ), getPaddingAndBorderAxis (child , mainAxis ));
983986 }
@@ -1076,8 +1079,6 @@ static void computeChildFlexBasis(const CSSNodeRef node,
10761079 : child -> layout .measuredDimensions [CSSDimensionHeight ],
10771080 getPaddingAndBorderAxis (child , mainAxis ));
10781081 }
1079-
1080- child -> layout .computedFlexBasisGeneration = gCurrentGenerationCount ;
10811082}
10821083
10831084static void absoluteLayoutChild (const CSSNodeRef node ,
@@ -1535,7 +1536,6 @@ static void layoutNodeImpl(const CSSNodeRef node,
15351536 child -> nextChild = NULL ;
15361537 } else {
15371538 if (child == singleFlexChild ) {
1538- child -> layout .computedFlexBasisGeneration = gCurrentGenerationCount ;
15391539 child -> layout .computedFlexBasis = 0 ;
15401540 } else {
15411541 computeChildFlexBasis (node ,
0 commit comments