Skip to content
Permalink
Browse files

Unrevert the fix for hit testing through shadows

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

Fixes #9865.
  • Loading branch information
metajack committed Mar 4, 2016
1 parent 55fc48e commit f7aa6a32e9ab5cc3b4ec88ba4d06ab4d27405ffe
Showing with 19 additions and 12 deletions.
  1. +19 −12 components/gfx/display_list/mod.rs
@@ -1314,23 +1314,30 @@ impl DisplayItem {
return;
}

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

// We found a hit!

0 comments on commit f7aa6a3

Please sign in to comment.
You can’t perform that action at this time.