Closed Bug 1195553 Opened 9 years ago Closed 9 years ago

Double tap gesture fails on Fennec when C++ APZ is enabled.

Categories

(Core :: Panning and Zooming, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox43 --- affected

People

(Reporter: rbarker, Assigned: rbarker)

References

Details

Attachments

(1 file)

nsBaseWidget::ProcessUntransformedAPZEvent assumes it is operating on the Root Content Document and removes the the resolution from the touch point before performing a hit test with the touch point. Under fennec, the nsBaseWidget holds the Root Document instead and so the resolution should not be removed from the touch point be fore performing a hit test.
Blocks: apz-fennec
To round out the explanation a bit, we still need *something* to un-apply the resolution during hit testing, we just need it to be done at the right time - when entering the Root Content Document - rather than at the very beginning of hit testing.
Assignee: nobody → rbarker
Comment on attachment 8649042 [details] [diff] [review]
0001-Bug-1195553-Double-tap-gesture-fails-on-Fennec-when-C-APZ-is-enabled-15081718-1e3c078.patch

Here is a patch that does the temporary work around.
Attachment #8649042 - Flags: feedback?(botond)
Comment on attachment 8649042 [details] [diff] [review]
0001-Bug-1195553-Double-tap-gesture-fails-on-Fennec-when-C-APZ-is-enabled-15081718-1e3c078.patch

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

::: widget/nsBaseWidget.cpp
@@ +994,5 @@
> +
> +    nsIDocument* document = GetDocument();
> +#ifdef MOZ_WIDGET_ANDROID
> +    // In fennec the widget holds the Root Document but hit testing is done
> +    // on the Root Content Document.

// If the callback transform applied above unapplied a resolution,
// the hit test done in SendSetTargetAPZCNotification() needs to
// start from the document bearing the resolution, which is the
// root content document.  This only affects Fennec because other APZ 
// platforms are e10s and any resolution is in the child process.
// Note that this means events targeting areas outside the root content 
// document may not be handled correctly; there should be no such
// areas in a default setup, but add-ons may produce some.
// Bug 1122804 tracks a proper solution to this.
Attachment #8649042 - Flags: feedback?(botond) → feedback+
This patch isn't needed any more, closing this out.
Status: NEW → RESOLVED
Closed: 9 years ago
No longer depends on: 1122804
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: