Note: There are a few cases of duplicates in user autocompletion which are being worked on.

Update MotionEventHelper.java to work with C++APZ

RESOLVED FIXED in Firefox 45

Status

()

Firefox for Android
Graphics, Panning and Zooming
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: rbarker, Assigned: rbarker)

Tracking

Trunk
Firefox 45
ARM
Android
Points:
---

Firefox Tracking Flags

(firefox45 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
The functions dragAsync and flingAsync do not work with C++APZ. Function dragAsync needs to account for the touch start tolerance when calculating drag distance. Function flingAsync needs to ensure that the touch up event time is later than the last touch move event time.
(Assignee)

Comment 1

2 years ago
Created attachment 8685705 [details] [diff] [review]
0001-Bug-1223609-Update-MotionEventHelper.java-to-work-with-C-APZ-15111016-77ebd50.patch
(Assignee)

Updated

2 years ago
Assignee: nobody → rbarker
(Assignee)

Updated

2 years ago
Blocks: 1206872
Component: Panning and Zooming → Graphics, Panning and Zooming
Product: Core → Firefox for Android
Is there a reason you didn't want to just drop the touch_start_tolerance to 0 instead, and then do a 1-pixel drag? That's what we do at [1] for example. I feel like that's a more robust solution in general.

[1] http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/test/mochitest/test_basic_pan.html?rev=97f3299a0c38&force=1#43
(Assignee)

Comment 3

2 years ago
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2)
> Is there a reason you didn't want to just drop the touch_start_tolerance to
> 0 instead, and then do a 1-pixel drag? That's what we do at [1] for example.
> I feel like that's a more robust solution in general.
> 
> [1]
> http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/test/mochitest/
> test_basic_pan.html?rev=97f3299a0c38&force=1#43

I tried that first and it didn't work. Because the down event and move event are at the same location, there is no change in position and the axis lock in C++APZ fails and always locks to the x axis. I have a patch to fix that issue so that APZC doesn't transition from Touching to Panning until the movement is non zero. Unfortunately, this cause the drag to loose about 5 pixels since basically the first move event is ignored. Additionally, this makes the test closer to real world conditions which might be worth loss of robustness.
Blocks: 1207748
No longer blocks: 1206872
Attachment #8685705 - Flags: review+

Comment 4

2 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/c30ece891309
https://hg.mozilla.org/mozilla-central/rev/c30ece891309
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox45: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 45
You need to log in before you can comment on or make changes to this bug.