Auto merge of #17002 - servo:derive-all-the-things, r=emilio

Introduce style::values::generics::rect ▭

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17002)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-05-24 02:18:01 -05:00 committed by GitHub
commit b4cebe1920
14 changed files with 357 additions and 447 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),