Open
Bug 989014
Opened 12 years ago
Updated 3 years ago
Event fluffing seems to ignore overflow: hidden
Categories
(Core :: DOM: Events, defect, P5)
Tracking
()
NEW
People
(Reporter: julienw, Unassigned)
Details
(Keywords: regression)
Attachments
(2 files)
STR:
* set "ui.mouse.radius.enabled" to true
* set "ui.mouse.radius.inputSource.touchOnly" to false
* load the attachment "fluffing-fails.html"
* tap below the "click above" button
Expected:
* nothing happens, or "click above" is displayed
Actual:
* "click below" is displayed
Now, if you load "fluffing-wins.html", you'll see everything works as expected.
Both files show a case where 2 elements are located in the same area, one is above the other. Obviously, the one that is below should not be clickable (unless it's visible).
The clickable link that's below contains a span with a background-color.
The difference between these 2 files is that in "fluffing-fails.html" the span has a fixed height and goes beyond the "a" boundary. Except the "a" element has a "overflow: hidden" css property so the span does not actually goes beyond the limit. You can remove this css property to see where the span would be without it. With the background-color we can clearly see that neither the <a> nor the <span> that are below are visible and so should not be clickable.
That's what happens if we disable event fluffing, but with event fluffing, it's made clickable.
I saw this issue while investigating bug 987445. I worked around the issue by making the <span> not exceed the <a> boundary, but the platform issue should be fixed nevertheless.
| Reporter | ||
Comment 1•12 years ago
|
||
| Reporter | ||
Comment 2•12 years ago
|
||
Marking "regression" because we didn't have event fluffing in the past. To be sure, I checked in Firefox OS 1.1 and the issue does not reproduce.
Should we block a release for this?
blocking-b2g: --- → 1.5?
Keywords: regression
Comment 3•12 years ago
|
||
This isn't a blocker - the only case we would hold a release on this would be for the earliest applicable partner facing release, which would be for 1.3. There's a workaround being implemented for 1.3, so that's sufficient here for now. However, if the issue here is more prominent to occur on the larger web platform, then we should re-evaluate whether we need this for 1.3 over the workaround in bug 987445.
blocking-b2g: 1.5? → ---
Comment 4•12 years ago
|
||
mats, roc, do we have any fast-enough solution to check overflow: hidden stuff, or would that
mean another hit test?
(I'm still paging in event fluffing code to my mind.)
Flags: needinfo?(roc)
Flags: needinfo?(matspal)
We could fix this reasonably easily by making GetClosest take clipping into account when computing 'region'.
Flags: needinfo?(roc)
One option would be to grab the mVisibleRects from the display list and return those along with the frames in nsLayoutUtils::GetFramesForArea (or a new version of that). Then we use those visible rects as the basis of the region. Those rects are limited to the area we're searching within, and take into account clipping (but not occlusion culling since we don't do a ComputeVisibility pass). How does that sound, Mats?
Flags: needinfo?(mats)
Mats?
Flags: needinfo?(mats)
Comment 8•12 years ago
|
||
Comment 6 sounds fine, but it seems like more work than I have time for
at the moment. I may get to it in a few weeks if no one else does.
Flags: needinfo?(mats)
Comment 9•8 years ago
|
||
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046
Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5.
If you have questions, please contact :mdaly.
Priority: -- → P5
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•