[APZC] first tap after pinch-to-zoom is ignored

RESOLVED FIXED in Firefox 34

Status

()

defect
--
minor
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: djf, Assigned: kats)

Tracking

({regression})

unspecified
2.1 S6 (10oct)
All
Gonk (Firefox OS)
Points:
---

Firefox Tracking Flags

(firefox33 unaffected, firefox34 fixed, firefox35 fixed, b2g-v1.4 unaffected, b2g-v2.0 unaffected, b2g-v2.1 fixed, b2g-v2.2 fixed)

Details

(Whiteboard: [priority])

Attachments

(2 attachments)

Reporter

Description

5 years ago
If I pinch to zoom in or out of the camera viewfinder then the next tap on the viewfinder is ignored.  If I want to take a picture I've got to tap twice. If I want to set the focus region I've got to tap twice. Same for flash mode, camera selector, menu button, and preview button. The only thing that works with one tap after a pinch gesture is the photo/video toggle slider thing (and I assume that is a big clue about what is going on.)

Taps following pinch-to-zoom gestures still work correctly in Gallery, so I don't think this is caused by any kind of system-wide changes to how touch events are delivered.
Reporter

Comment 1

5 years ago
Justin: I'm guessing that this is one you'll want to take.

Note that this is only for pinch gestures. If I do a pinch to start zooming, then stop the pinch and use one finger to drag the zoom slider, the next tap will work correctly.
Flags: needinfo?(jdarcangelo)
Reporter

Comment 2

5 years ago
Setting qawanted to find out if this bug affects other releases or if it is a more recent regression.
Keywords: qawanted
QA Contact: ychung
Hi David,

Could you tell me on which device, version and build you found this bug?
Flags: needinfo?(dflanagan)
Reporter

Comment 4

5 years ago
Yeojin,

Sorry. This is on a Flame with today's nightly build. I've got it configured for 319mb I think, though I don't think that matters.
Flags: needinfo?(dflanagan)
This issue reproduces on the latest Flame 2.2, 2.1, and Open C 2.2:

Flame 2.2

Environmental Variables:
Device: Flame Master (512mb)
BuildID: 20140905090738
Gaia: 0de5fcdc11a15abdf8d64f28bed2abb30041ea4d
Gecko: 0d962e459db5
Version: 35.0a1 (Master) 
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

Flame 2.1

Environmental Variables:
Device: Flame 2.1 (512mb)
BuildID: 20140905134639
Gaia: abec74ccc792617e0d2fa5fa9490810555327003
Gecko: e74b772d7ac9
Version: 34.0a2 
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Open C 2.2

Environmental Variables:
Device: Open_C Master
BuildID: 20140905090738
Gaia: 0de5fcdc11a15abdf8d64f28bed2abb30041ea4d
Gecko: 0d962e459db5
Version: 35.0a1 (Master) 
Firmware Version: P821A10V1.0.0B06_LOG_DL
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

The device does not respond to the first tap after pinch-to-zoom.
-----------------------------------
This issue does NOT reproduce on Flame 2.0, Flame 1.4:

Flame 2.0

Environmental Variables:
Device: Flame 2.0 (512mb)
BuildID: 20140905072212
Gaia: b8215807edfa25590c34625420741e7194d1d55e
Gecko: d03521aa4347
Version: 32.0 (2.0) 
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0

Flame 1.4

Environmental Variables:
Device: Flame 1.4 (512mb)
Build ID: 20140905100238
Gaia: 2ee5b00bfbb8a67a967094804390b4afce8ecf54
Gecko: a3e8df746cd8
Version: 30.0 (1.4)
Firmware Version: v123
User Agent: Mozilla/5.0 (Mobile; rv:30.0) Gecko/30.0 Firefox/30.0

The device properly responds to the first tap after pinch-to-zoom.
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Keywords: qawantedregression
triage - not nomming
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
Assignee: nobody → jdarcangelo
Flags: needinfo?(jdarcangelo)

Updated

5 years ago
Target Milestone: --- → 2.1 S4 (12sep)
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][lead-review+]

Updated

5 years ago
Severity: normal → minor
Target Milestone: 2.1 S4 (12sep) → 2.1 S5 (26sep)

Updated

5 years ago
Whiteboard: [priority]

Updated

5 years ago
Target Milestone: 2.1 S5 (26sep) → 2.1 S6 (10oct)
Assignee: jdarcangelo → nobody
Component: Gaia::Camera → Panning and Zooming
Product: Firefox OS → Core
Summary: [camera] first tap after pinch-to-zoom is ignored → [APZC] first tap after pinch-to-zoom is ignored
I've just verified that this is not specific to Camera's pinch-to-zoom. In fact, you can be in an app that doesn't have any sort of pinch-to-zoom behavior (e.g. Clock) and reproduce this.

STR:

1. Open Clock app
2. Perform a 'pinch-to-zoom' gesture anywhere on the screen (as if you were trying to zoom-in and out)
3. Attempt to tap on the tabs at the bottom to switch between them

The first "tap" on the tabs following the gesture will almost always be ignored.
Flags: needinfo?(bugmail.mozilla)
Can repro, thanks for the STR! I'm investigating...
Assignee: nobody → bugmail.mozilla
Flags: needinfo?(bugmail.mozilla)
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → All
The problem seems to be that in the period between the second finger going down, and the move distance being large enough to activate the pinch, the GEL returns nsEventStatus_eIgnore for the move events, so they get processed as moves in the TOUCHING state in the APZC instead. This creates a velocity in the APZC which then disallows the following tap. Patch coming in a sec.
Posted patch PatchSplinter Review
I think this is the incorrect bit; the APZC shouldn't be having to deal with move events once two fingers are down. If the user hasn't yet moved enough to activate a pinch, the events should just be ignored.
Attachment #8499647 - Flags: review?(botond)
Attachment #8499647 - Flags: review?(botond) → review+
Ran into these while building gtests for the above patch.
Attachment #8499670 - Flags: review?(botond)
Attachment #8499670 - Flags: review?(botond) → review+
https://hg.mozilla.org/mozilla-central/rev/e057f4f45d35
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Comment on attachment 8499647 [details] [diff] [review]
Patch

Approval Request Comment
[Feature/regressing bug #]: unsure
[User impact if declined]: in some cases the first click after doing a pinch-zoom action is ignored
[Describe test coverage new/current, TBPL]: local testing
[Risks and why]: low-risk; code is well understood and well contained. Affects B2G and metro only
[String/UUID change made/needed]: none
Attachment #8499647 - Flags: approval-mozilla-aurora?
Attachment #8499647 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.