diff --git a/components/layout/multicol.rs b/components/layout/multicol.rs index 22f8e3e24ab..3659d50e219 100644 --- a/components/layout/multicol.rs +++ b/components/layout/multicol.rs @@ -106,9 +106,8 @@ impl Flow for MulticolFlow { { let column_style = self.block_flow.fragment.style.get_column(); - // FIXME(#20498): This should support percentages too. let column_gap = match column_style.column_gap { - Either::First(len) => len.into(), + Either::First(len) => len.0.to_pixel_length(content_inline_size).into(), Either::Second(_normal) => self.block_flow.fragment.style.get_font().font_size.size(), }; diff --git a/components/style/properties/longhand/column.mako.rs b/components/style/properties/longhand/column.mako.rs index 9113479218b..5ed8164e7eb 100644 --- a/components/style/properties/longhand/column.mako.rs +++ b/components/style/properties/longhand/column.mako.rs @@ -30,17 +30,14 @@ ${helpers.predefined_type( )} -<% -# FIXME(#20498): Servo should support percentages in column-gap. -col_gap_type = "NonNegativeLengthOrPercentageOrNormal" if product == "gecko" else "NonNegativeLengthOrNormal" -%> + ${helpers.predefined_type( "column-gap", - "length::%s" % col_gap_type, + "length::NonNegativeLengthOrPercentageOrNormal", "Either::Second(Normal)", extra_prefixes="moz", servo_pref="layout.columns.enabled", - animation_value_type=col_gap_type, + animation_value_type="NonNegativeLengthOrPercentageOrNormal", spec="https://drafts.csswg.org/css-multicol/#propdef-column-gap", servo_restyle_damage = "reflow", )}