aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/gfx/display_list/mod.rs39
1 files changed, 23 insertions, 16 deletions
diff --git a/components/gfx/display_list/mod.rs b/components/gfx/display_list/mod.rs
index e7d24843f25..b6565753f36 100644
--- a/components/gfx/display_list/mod.rs
+++ b/components/gfx/display_list/mod.rs
@@ -390,23 +390,30 @@ impl DisplayList {
return;
}
- if let DisplayItem::BorderClass(ref border) = *item {
- // 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.border_widths.top +
- border.border_widths.bottom)));
- if interior_rect.contains(&point) {
- return;
+ match *item {
+ 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.border_widths.top +
+ border.border_widths.bottom)));
+ if interior_rect.contains(&point) {
+ return;
+ }
}
+ DisplayItem::BoxShadowClass(_) => {
+ // Box shadows can never be hit.
+ return
+ }
+ _ => {}
}
// We found a hit!