diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 9005fe691a43..108563d71708 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -3255,6 +3255,13 @@ fn static_assert() { self.gecko.mBorderSpacingCol = other.gecko.mBorderSpacingCol; self.gecko.mBorderSpacingRow = other.gecko.mBorderSpacingRow; } + + pub fn clone_border_spacing(&self) -> longhands::border_spacing::computed_value::T { + longhands::border_spacing::computed_value::T { + horizontal: Au(self.gecko.mBorderSpacingCol), + vertical: Au(self.gecko.mBorderSpacingRow) + } + } diff --git a/components/style/properties/longhand/inherited_table.mako.rs b/components/style/properties/longhand/inherited_table.mako.rs index 3069482976ed..a66de2691db7 100644 --- a/components/style/properties/longhand/inherited_table.mako.rs +++ b/components/style/properties/longhand/inherited_table.mako.rs @@ -20,7 +20,7 @@ ${helpers.single_keyword("caption-side", "top bottom", animation_value_type="none", spec="https://drafts.csswg.org/css-tables/#propdef-caption-side")} -<%helpers:longhand name="border-spacing" animation_value_type="none" boxed="True" +<%helpers:longhand name="border-spacing" animation_value_type="ComputedValue" boxed="True" spec="https://drafts.csswg.org/css-tables/#propdef-border-spacing"> use app_units::Au; use std::fmt; @@ -29,7 +29,7 @@ ${helpers.single_keyword("caption-side", "top bottom", pub mod computed_value { use app_units::Au; - use properties::animated_properties::Interpolate; + use properties::animated_properties::{ComputeDistance, Interpolate}; #[derive(Clone, Copy, Debug, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] @@ -48,6 +48,19 @@ ${helpers.single_keyword("caption-side", "top bottom", }) } } + + impl ComputeDistance for T { + #[inline] + fn compute_distance(&self, other: &Self) -> Result { + self.compute_squared_distance(other).map(|sd| sd.sqrt()) + } + + #[inline] + fn compute_squared_distance(&self, other: &Self) -> Result { + Ok(try!(self.horizontal.compute_squared_distance(&other.horizontal)) + + try!(self.vertical.compute_squared_distance(&other.vertical))) + } + } } impl HasViewportPercentage for SpecifiedValue {