Closed Bug 1505880 Opened 6 years ago Closed 6 years ago

touchend event can't activate document incorrectly

Categories

(Core Graveyard :: Widget: Android, enhancement)

enhancement
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

Details

(Whiteboard: [webcompat])

Attachments

(1 file)

In bug1456322, we use `IsEventOutsideDragThreshold()` to check whether the touchend event is from dragging or touching at one point. However, this method which is broken on Android always returns true, so we can't use this method to distinguish touch and drag. The reason is that `mGestureDownPoint` is never set during draging, so everytime the distance we calculate in `IsEventOutsideDragThreshold()` would always larger than the threshold. The `mGestureDownPoint` is set in `BeginTrackingDragGesture()` which is never called during dragging.
Component: DOM: Events → Event Handling
Why is BeginTrackingDragGesture not called? Is this Android widget level issue? Ah, looks like so. Touch dragging is implemented on Windows only.
Component: Event Handling → Widget: Android
Summary: touchend event can't actiate document incorrectly → touchend event can't activate document incorrectly
We should set the 'mGestureDownPoint' correctly when receiving 'touchstart' so that we can distinguish whether the 'touchend' comes from dragging or simply touching by calling 'IsEventOutsideDragThreshold()'.
Whiteboard: [webcompat]
Flags: webcompat?
Pushed by alwu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7fbec497af48 set mGestureDownPoint when receiving 'touchstart' event. r=smaug
Blocks: 1507615
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: