Closed Bug 1030221 Opened 10 years ago Closed 10 years ago

overscroll gets easily stuck in Line app

Categories

(Core :: Panning and Zooming, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33
blocking-b2g 2.0+
Tracking Status
firefox31 --- wontfix
firefox32 --- fixed
firefox33 --- fixed
b2g-v2.0 --- verified
b2g-v2.1 --- verified

People

(Reporter: bkelly, Assigned: kats)

References

Details

(Keywords: regression, Whiteboard: [dogfood2.0])

Attachments

(3 files, 1 obsolete file)

Steps to Reproduce: 1) Start a conversation in the Line app 2) Send a message (easiest to reproduce if you are the last person to send a message in the conversation). 3) Scroll up in conversation. 4) Scroll down to bottom such that overscroll is triggered. Expected: Overscroll animation runs as normal. Actual: Maybe 80% of the time I get stuck in the overscroll animation. This could be related to bug 1027309, but that bug requires two fingers while this bug can be triggered with a single finger. Flame v121-2 base image v2.0 pvt update channel Build ID: 20140625000201 Gaia Rev: de77f794
You may need to actually send a message and then try the scroll immediately after. Perhaps its getting confused about the scroll position or something when the new message is added to the list.
blocking-b2g: 2.0? → 2.0+
Assignee: nobody → bugmail.mozilla
I was able to reproduce this on a Flame and it looks like the problem is that when a fling animation is cancelled, overscroll is not cleared. This can happen if, for example, you fling and while you're in the overscroll state (still in the fling animation, not in the snapback part yet), you get a ScrollTo call and cancel the animation. Patching coming shortly.
Seems kinda silly/inconsistent to have the Sample function implementations so far away. This one is a non-functional change, I just moved the code and adjusted indentation to match.
Attachment #8446808 - Flags: review?(drs+bugzilla)
I tried adding a gtest for this but overscroll is actually preffed off by default in gfxPrefs, and only preffed on in B2G. I don't know if there's a way to fiddle with prefs in the middle of a test but I couldn't find an easy way to do it. I'll file a follow-up bug for this.
Attachment #8446810 - Flags: review?(drs+bugzilla)
Filed bug 1031024 for the gtests thing.
Comment on attachment 8446808 [details] [diff] [review] Part 1 - Move Sample functions into class definitions Review of attachment 8446808 [details] [diff] [review]: ----------------------------------------------------------------- I'm kind of lukewarm to this since it sucks to have really long functions inside class declarations, but since they don't do much else, I think it's ok in this case.
Attachment #8446808 - Flags: review?(drs+bugzilla) → review+
Comment on attachment 8446810 [details] [diff] [review] Part 2 (fix) - Clear overscroll when cancelling fling Review of attachment 8446810 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/layers/apz/src/AsyncPanZoomController.cpp @@ +563,5 @@ > + // state. We deal with this by explicitly clearing the overscroll when > + // cancelling a fling. > + mApzc.mX.ClearOverscroll(); > + mApzc.mY.ClearOverscroll(); > + } What do you think of making FlingAnimation inherit from OverscrollSnapBackAnimation instead?
(In reply to Doug Sherk (:drs) from comment #8) > > What do you think of making FlingAnimation inherit from > OverscrollSnapBackAnimation instead? Sounds like a good idea, although I'd want a different name for it.
Now with an OverscrollableAnimation base class as discussed on IRC.
Attachment #8446810 - Attachment is obsolete: true
Attachment #8446810 - Flags: review?(drs+bugzilla)
Attachment #8446821 - Flags: review?(drs+bugzilla)
Comment on attachment 8446821 [details] [diff] [review] Part 2 (fix) - Clear overscroll when cancelling fling (v2) Review of attachment 8446821 [details] [diff] [review]: ----------------------------------------------------------------- Thanks, this is a lot cleaner.
Attachment #8446821 - Flags: review?(drs+bugzilla) → review+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
This issue has been verified successfully on Flame 2.0, 2.1. See attachment: 1424.MP4 Reproducing rate: 0/5 Step: 1.Launch Market. 2.Search Line app to install. 3.Launch Line, log in account. 4.Select a friend to chat. 5.Send a message (easiest to reproduce if you are the last person to send a message in the conversation). 6.Scroll up in conversation. 7.Scroll down to bottom such that overscroll is triggered. Actual result: Overscroll animation runs as normal. Flame 2.0 version: Gaia-Rev 856863962362030174bae4e03d59c3ebbc182473 Gecko-Rev https://hg.mozilla.org/releases/mozilla-2g32_v2_0/rev/e40fe21e37f1 Build-ID 20141208000206 Version 32.0 Device-Name flame FW-Release 4.4.2 FW-Incremental eng.cltbld.20141208.035628 FW-Date Mon Dec 8 03:56:38 EST 2014 Bootloader L1TC00011880 Flame 2.1 version: Gaia-Rev 38e17b0219cbc50a4ad6f51101898f89e513a552 Gecko-Rev https://hg.mozilla.org/releases/mozilla-2g34_v2_1/rev/8b92c4b8f59a Build-ID 20141205001201 Version 34.0 Device-Name flame FW-Release 4.4.2 FW-Incremental eng.cltbld.20141205.035305 FW-Date Fri Dec 5 03:53:16 EST 2014 Bootloader L1TC00011880
Attached video 1424.MP4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: