Bug 111336 - [CSS Regions] Hit testing is broken with regions that have rounded corners
Summary: [CSS Regions] Hit testing is broken with regions that have rounded corners
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: AdobeTracked
Depends on:
Blocks: 57312
  Show dependency treegraph
 
Reported: 2013-03-04 09:00 PST by Mihai Balan
Modified: 2013-05-15 02:30 PDT (History)
1 user (show)

See Also:


Attachments
Ref-test highlighting the problem (1.61 KB, application/x-zip-compressed)
2013-03-04 09:00 PST, Mihai Balan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mihai Balan 2013-03-04 09:00:42 PST
Created attachment 191255 [details]
Ref-test highlighting the problem

If a region has rounded corners (via border-radius), it still receives mouse events as if it wouldn't (e.g. hit area is still rectangular).

In the attached test case, moving the mouse cursor over both the green and the red dot at the top left of the yellow circle should make it appear on a green background (via CSS :hover).

However, if the yellow circle is a region, the mouse events will propagate to its parent only over the would-be-rectangular border (green dot) and not inside the area between the rectangular border and the actual circular border (red dot).
Comment 1 Mihai Balan 2013-05-15 02:30:11 PDT
On closer inspection, this doesn't look like a bug anymore - the same behavior happens without regions: children of an element with rounded borders will still receive mouse events even when the mouse is outside the rounded rectangle (but inside the "real" rectangle).

The lack of "reaction" when moving the mouse over the red dot in the actual file comes from the fact that the named flow contents "eat up" the mouse event and it never bubbles to the region (at least in the current event propagation model).

Closing as RESOLVED/INVALID :)