Add support for most of the border-image properties, pass to WR.

This adds support for:
 * border-image (images, not gradients yet)
 * border-image-source
 * border-image-slice
 * border-image-repeat (stretch + repeat only for now)

Remaining work:
 * Connect border-image-outset (WR supports this).
 * border-image-width
This commit is contained in:
Glenn Watson 2017-02-17 15:42:18 +10:00
parent 854d720b21
commit ffcb319324
17 changed files with 231 additions and 107 deletions

View file

@ -86,7 +86,7 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-float-edge)",
animatable=False)}
<%helpers:longhand name="border-image-source" products="gecko" animatable="False" boxed="True"
<%helpers:longhand name="border-image-source" animatable="False" boxed="True"
spec="https://drafts.csswg.org/css-backgrounds/#border-image-source">
use std::fmt;
use style_traits::ToCss;
@ -162,7 +162,7 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
}
</%helpers:longhand>
<%helpers:longhand name="border-image-outset" products="gecko" animatable="False"
<%helpers:longhand name="border-image-outset" animatable="False"
spec="https://drafts.csswg.org/css-backgrounds/#border-image-outset">
use std::fmt;
use style_traits::ToCss;
@ -278,7 +278,7 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
}
</%helpers:longhand>
<%helpers:longhand name="border-image-repeat" products="gecko" animatable="False"
<%helpers:longhand name="border-image-repeat" animatable="False"
spec="https://drafts.csswg.org/css-backgrounds/#border-image-repeat">
use std::fmt;
use style_traits::ToCss;
@ -356,7 +356,7 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
}
</%helpers:longhand>
<%helpers:longhand name="border-image-width" products="gecko" animatable="False"
<%helpers:longhand name="border-image-width" animatable="False"
spec="https://drafts.csswg.org/css-backgrounds/#border-image-width">
use std::fmt;
use style_traits::ToCss;
@ -556,7 +556,7 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
}
</%helpers:longhand>
<%helpers:longhand name="border-image-slice" products="gecko" animatable="False"
<%helpers:longhand name="border-image-slice" animatable="False"
spec="https://drafts.csswg.org/css-backgrounds/#border-image-slice">
use std::fmt;
use style_traits::ToCss;

View file

@ -184,7 +184,7 @@ pub fn parse_border(context: &ParserContext, input: &mut Parser)
}
</%helpers:shorthand>
<%helpers:shorthand name="border-image" products="gecko" sub_properties="border-image-outset
<%helpers:shorthand name="border-image" sub_properties="border-image-outset
border-image-repeat border-image-slice border-image-source border-image-width"
extra_prefixes="moz webkit" spec="https://drafts.csswg.org/css-backgrounds-3/#border-image">
use properties::longhands::{border_image_outset, border_image_repeat, border_image_slice};