Unrevert the fix for hit testing through shadows

This was originally #9428 but got accidentally reverted during rebase in

Fixes #9865.
This commit is contained in:
Jack Moffitt 2016-03-03 17:04:55 -07:00
parent 55fc48e4c4
commit f7aa6a32e9

View file

@ -1314,23 +1314,30 @@ impl DisplayItem {
return; return;
} }
if let DisplayItem::BorderClass(ref border) = *self { match *self {
// If the point is inside the border, it didn't hit the border! DisplayItem::BorderClass(ref border) => {
let interior_rect = // If the point is inside the border, it didn't hit the border!
Rect::new( let interior_rect =
Point2D::new(border.base.bounds.origin.x + Rect::new(
border.border_widths.left, Point2D::new(border.base.bounds.origin.x +
border.base.bounds.origin.y + border.border_widths.left,
border.border_widths.top), border.base.bounds.origin.y +
Size2D::new(border.base.bounds.size.width - border.border_widths.top),
Size2D::new(border.base.bounds.size.width -
(border.border_widths.left + (border.border_widths.left +
border.border_widths.right), border.border_widths.right),
border.base.bounds.size.height - border.base.bounds.size.height -
(border.border_widths.top + (border.border_widths.top +
border.border_widths.bottom))); border.border_widths.bottom)));
if interior_rect.contains(&point) { if interior_rect.contains(&point) {
return; return;
}
} }
DisplayItem::BoxShadowClass(_) => {
// Box shadows can never be hit.
return
}
_ => {}
} }
// We found a hit! // We found a hit!