Use generics for border-image-slice property

This commit is contained in:
Anthony Ramine 2017-05-23 10:56:03 +02:00
parent c8eb277ca5
commit 078d4ed40c
8 changed files with 77 additions and 157 deletions

View file

@ -1429,8 +1429,7 @@ impl FragmentDisplayListBuilding for Fragment {
url.clone(),
UsePlaceholder::No);
if let Some(webrender_image) = webrender_image {
// The corners array is guaranteed to be len=4 by the css parser.
let corners = &border_style_struct.border_image_slice.corners;
let corners = &border_style_struct.border_image_slice.offsets;
state.add_display_item(DisplayItem::Border(box BorderDisplayItem {
base: base,
@ -1438,10 +1437,10 @@ impl FragmentDisplayListBuilding for Fragment {
details: BorderDetails::Image(ImageBorder {
image: webrender_image,
fill: border_style_struct.border_image_slice.fill,
slice: SideOffsets2D::new(corners[0].resolve(webrender_image.height),
corners[1].resolve(webrender_image.width),
corners[2].resolve(webrender_image.height),
corners[3].resolve(webrender_image.width)),
slice: SideOffsets2D::new(corners.top.resolve(webrender_image.height),
corners.right.resolve(webrender_image.width),
corners.bottom.resolve(webrender_image.height),
corners.left.resolve(webrender_image.width)),
// TODO(gw): Support border-image-outset
outset: SideOffsets2D::zero(),
repeat_horizontal: convert_repeat_mode(border_style_struct.border_image_repeat.0),