PositionedEventTargeting doesn't work outside of the CSS viewport area when zoomed out

RESOLVED FIXED in Firefox 35

Status

()

defect
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: kats, Assigned: kats)

Tracking

36 Branch
mozilla36
All
Android
Points:
---

Firefox Tracking Flags

(firefox34 wontfix, firefox35 fixed, firefox36 fixed)

Details

Attachments

(1 attachment)

Split off from https://bugzilla.mozilla.org/show_bug.cgi?id=1078029#c30. Complete STR at https://bugzilla.mozilla.org/show_bug.cgi?id=1078029#c8 (point 2). Basically, when you zoom out on a page, the "Viewport" frame becomes smaller than what is visible on-screen. This is exactly why fennec and B2G pass around the IGNORE_ROOT_SCROLL_FRAME flag on touch and mouse events, so that layout knows to allow hit-testing outside of the viewport bounds.

However, the code in PositionedEventTargeting doesn't properly respect this flag. When it generates the target rect based on the touch-radius parameters, it then clips that target rect to the root scroll frame, regardless of whether the flag is set. This usually ends up making the target rect empty when the user taps outside of the CSS viewport area, which then fails to do any input event retargeting.
This only really becomes an issue in Fennec after bug 788073, which is in Gecko 35. So I would like to uplift this to 35 as well.
OS: Mac OS X → Android
Hardware: x86 → All
Version: unspecified → 36 Branch
https://hg.mozilla.org/mozilla-central/rev/c3c317bd388f
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
Comment on attachment 8514947 [details] [diff] [review]
Respect the ignore-root-scroll-frame flag in PositionedEventTargeting

Approval Request Comment
[Feature/regressing bug #]: exposed in fennec by bug 788073
[User impact if declined]: the event retargeting doesn't work sometimes, so the user can get frustrated trying to click on things
[Describe test coverage new/current, TBPL]: tested locally and on m-c
[Risks and why]: The code is shared with b2g so there's a possibility of a regression there. As i'm only requesting uplift to 35 that's still b2g 2.2 so if it does regress stuff we have lots of time to fix it. Seems like a pretty safe fix though.
[String/UUID change made/needed]: none
Attachment #8514947 - Flags: approval-mozilla-aurora?
Attachment #8514947 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.