Closed Bug 1043719 Opened 8 years ago Closed 8 years ago

A long-press event is fired in the middle of a pinch gesture if the second touchstart is cancelled

Categories

(Core :: Panning and Zooming, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file)

STR:
1. Load http://people.mozilla.org/~kgupta/touch.html
2. Check the "second touch-start" box
3. Do a pinch while watching console output (make sure you put the two fingers down at the same time, or as close to it as possible)

Expected:
- No contextmenu event is fired

Actual:
- Contextmenu event is fired amid the slew of touchmoves.

The reason is that the touch block starting at the second touch gets cancelled, so those events don't go through to the GEL code. The long-press timer that was scheduled from the first touch never gets cancelled as a result.
Technically this was fixed in bug 1043689 because the state in the GEL gets reset to none. However the pending long-tap and max-tap timeouts are still active needlessly. It makes sense to cancel them when resetting the state.
Assignee: nobody → bugmail.mozilla
Attachment #8466625 - Flags: review?(botond) → review+
Interesting; that gtest passes for me locally. I'll investigate.
Was able to reproduce after updating my local code. Filed bug 1048888 for the underlying problem. Try push with both patches: https://tbpl.mozilla.org/?tree=Try&rev=f4fa0f5c97e4
https://hg.mozilla.org/mozilla-central/rev/70433c52a9c6
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in before you can comment on or make changes to this bug.