layout: Fix radius percentage resolution.

By resolving against the corresponding dimension of the border box, instead of
against the width.

Fixes #16764
This commit is contained in:
Emilio Cobos Álvarez 2017-05-08 11:04:44 +02:00
parent 39471cda1b
commit c9ab75b013
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
2 changed files with 20 additions and 8 deletions

View file

@ -564,13 +564,13 @@ fn build_border_radius(abs_bounds: &Rect<Au>,
handle_overlapping_radii(&abs_bounds.size, &BorderRadii {
top_left: model::specified_border_radius(border_style.border_top_left_radius,
abs_bounds.size.width),
abs_bounds.size),
top_right: model::specified_border_radius(border_style.border_top_right_radius,
abs_bounds.size.width),
abs_bounds.size),
bottom_right: model::specified_border_radius(border_style.border_bottom_right_radius,
abs_bounds.size.width),
abs_bounds.size),
bottom_left: model::specified_border_radius(border_style.border_bottom_left_radius,
abs_bounds.size.width),
abs_bounds.size),
})
}
@ -1278,7 +1278,7 @@ impl FragmentDisplayListBuilding for Fragment {
spread_radius: box_shadow.spread_radius,
border_radius: model::specified_border_radius(style.get_border()
.border_top_left_radius,
absolute_bounds.size.width).width,
absolute_bounds.size).width,
clip_mode: if box_shadow.inset {
BoxShadowClipMode::Inset
} else {