Closed Bug 912144 Opened 6 years ago Closed 6 years ago

Hit testing for subframes is sometimes not right

Categories

(Core :: Graphics: Layers, defect)

26 Branch
All
Gonk (Firefox OS)
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla26

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file, 1 obsolete file)

Right now APZCTreeManager is using the mViewport field from the FrameMetrics for hit testing. This sort of works most of the time, but there have definitely been occasions where it is not correct, and trying to scroll a subframe resulted in the parent frame scrolling and vice-versa.

Based on the documentation in FrameMetrics.h, mViewport is supposed to be the CSS viewport for the frame, which in the case of subframes may be different from the desired hit test region (if the subframe has a meta-viewport tag). Instead, we should switch over to using the mCompositionBounds which more accurately corresponds to the hit test region, once botond lands the patch in bug 904533.
Attached patch Patch (obsolete) — Splinter Review
Possible patch
Attachment #800199 - Flags: feedback?(botond)
Version: 23 Branch → 26 Branch
Comment on attachment 800199 [details] [diff] [review]
Patch

Review of attachment 800199 [details] [diff] [review]:
-----------------------------------------------------------------

Together with my patch for bug 912806, this patch fixes the issue I was seeing where hit testing results were wrong in a zoomed-in state.
Attachment #800199 - Flags: feedback?(botond) → feedback+
Blocks: 898478
I also updated the layer border to reflect the composition bounds; it looks like that's meant to be in sync with the hit test area.
Attachment #800199 - Attachment is obsolete: true
Attachment #802535 - Flags: review?(bgirard)
Attachment #802535 - Flags: review?(bgirard) → review+
https://hg.mozilla.org/mozilla-central/rev/988953e0c208
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
You need to log in before you can comment on or make changes to this bug.