Closed
Bug 1153711
Opened 10 years ago
Closed 10 years ago
Flinging horizontally in the B2G browser doesn't work (no kinetic scroll)
Categories
(Core :: Panning and Zooming, defect)
Tracking
()
People
(Reporter: kats, Assigned: botond)
References
Details
(Keywords: regression)
Attachments
(2 files, 1 obsolete file)
7.30 KB,
patch
|
Details | Diff | Splinter Review | |
39 bytes,
text/x-review-board-request
|
kats
:
review+
|
Details |
STR:
On B2G, fire up the browser and go to http://people.mozilla.com/~kgupta/grid.html
Fling the page horizontally.
Expected:
Page continues moving horizontally after finger goes up.
Actual:
Page stops moving pretty much as soon as the finger goes up. This is annoying when trying to fling horizontally.
qawanted for branch checks.
Comment 1•10 years ago
|
||
This issue reproduces on Flame 3.0 and 2.2. Swiping left/right on the provided page does not give user a slow-to-stop scrolling effect, instead it just stops abruptly as soon as finger leaves screen.
Device: Flame 3.0 Master (full flashed 319MB KK)
BuildID: 20150413010203
Gaia: 3c68964cb9fdba7cf0f6829b7f44562acaf1f1d7
Gecko: 0a46652bd992
Gonk: b83fc73de7b64594cd74b33e498bf08332b5d87b
Version: 40.0a1 (3.0 Master)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0
Device: Flame 2.2 (full flashed 319MB KK)
BuildID: 20150413002502
Gaia: cec00d643f517ffd96cde559cd3bbd43ab85816c
Gecko: 5005522fd68e
Gonk: ebad7da532429a6f5efadc00bf6ad8a41288a429
Version: 37.0 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
------
This issue does NOT reproduce on Flame 2.1. Kinetic scrolling effect is shown when scrolling horizontally.
Device: Flame 2.1 (full flashed 319MB KK)
BuildID: 20150413001204
Gaia: bbe983b4e8bebfec26b3726b79568a22d667223c
Gecko: a1b2434ad001
Gonk: ebad7da532429a6f5efadc00bf6ad8a41288a429
Version: 34.0 (2.1)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
QA Whiteboard: [QAnalyst-Triage?]
status-b2g-v2.1:
--- → unaffected
status-b2g-v2.2:
--- → affected
Flags: needinfo?(ktucker)
Keywords: qawanted → regression
Reporter | ||
Comment 2•10 years ago
|
||
Thanks! A regression-window on 2.2 would also be good then.
blocking-b2g: --- → 2.2?
Keywords: regressionwindow-wanted
Updated•10 years ago
|
QA Contact: bzumwalt
Updated•10 years ago
|
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Assignee | ||
Comment 3•10 years ago
|
||
I think this was regressed by bug 1066888. Dropping regressionwindow-wanted flag while I confirm and investigate.
Assignee: nobody → botond
Keywords: regressionwindow-wanted
Assignee | ||
Comment 4•10 years ago
|
||
Specifically, it was regressed by the addition of this block [1]. As a result of that code, we are dropping the velocity along the x-axis because the scrollgrabbing container can't scroll horizontally, even though an APZC higher up in the handoff chain can.
I don't immediately recall the motivation for adding this code, nor is it documented in bug 1066888; I'll think about it a bit.
[1] http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/src/AsyncPanZoomController.cpp?rev=86b60ef17965#444
Comment 5•10 years ago
|
||
From the Central Regression window (below), bug 1066888 is listed in the pushlog so that lends some credence to your findings Botond. Just saw your comments so I will hold off on finding mozilla-inbound window for now.
Last working Central build:
Device: Flame 2.2
BuildID: 20141031125656
Gaia: 5964f1339f37e7595aff7de7512b8529bc640b76
Gecko: a264cdd47217
Version: 36.0a1 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0
First broken Central build:
Device: Flame 2.2
Build ID: 20141031131456
Gaia: 5964f1339f37e7595aff7de7512b8529bc640b76
Gecko: 12ac66e2c016
Version: 36.0a1 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0
Working Gaia with Broken Gecko issue DOES reproduce:
Gaia: 5964f1339f37e7595aff7de7512b8529bc640b76
Gecko: 12ac66e2c016
Working Gecko with Broken Gaia issue does NOT reproduce:
Gaia: 5964f1339f37e7595aff7de7512b8529bc640b76
Gecko: a264cdd47217
Central pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=a264cdd47217&tochange=12ac66e2c016
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Updated•10 years ago
|
Assignee | ||
Comment 6•10 years ago
|
||
I recall the motivation now: suppose you have a child scroll frame C, and parent scroll frame P, and they can both only scroll vertically. If you do a diagonal fling on C, then without the block added in bug 1066888, the horizontal component of the fling would cause the fling to go into overscroll and be handed off to P, even though P can't scroll horizontally either, and C hasn't reached the end of its vertical scroll range.
With this added block, we truncate components of the velocity that are in a direction that the flinging APZC doesn't have room to scroll in, and only do handoff if there is still overscroll. However, as we've discovered in this bug, the truncation can be undesirable in cases where a parent scroll frame could have scrolled in the truncated direction.
I think the proper way to handle a situation where we reach the end of the scroll range in one direction but not the other, is to do a partial handoff, i.e. only hand off the portion of the fling in the one direction.
This is a bit of a larger change, though, so for the purposes of fixing this 2.2 regression, I propose working around the problem by restricting the truncation to the case where a parent scrollable doesn't have room to scroll along the axis in question, either.
Assignee | ||
Comment 7•10 years ago
|
||
/r/7027 - Bug 1153711 - Do not discard a component of a fling if an APZC further in the handoff chain has room to scroll in that direction. r=kats
Pull down this commit:
hg pull -r f14d3c29a1ad36e1481c1eff71ab96a51a312f95 https://reviewboard-hg.mozilla.org/gecko/
Attachment #8592268 -
Flags: review?(bugmail.mozilla)
Assignee | ||
Comment 8•10 years ago
|
||
Try push that includes this patch: https://treeherder.mozilla.org/#/jobs?repo=try&revision=8e7237a0715f
Reporter | ||
Comment 9•10 years ago
|
||
Comment on attachment 8592268 [details]
MozReview Request: bz://1153711/botond
https://reviewboard.mozilla.org/r/7025/#review5853
::: gfx/layers/apz/src/AsyncPanZoomController.cpp
(Diff revision 1)
> + default: MOZ_ASSERT(false); return false;
One day we'll be able to scroll in the z-direction!
Attachment #8592268 -
Flags: review?(bugmail.mozilla)
Reporter | ||
Comment 10•10 years ago
|
||
Comment on attachment 8592268 [details]
MozReview Request: bz://1153711/botond
https://reviewboard.mozilla.org/r/7025/#review5855
Ship It!
Attachment #8592268 -
Flags: review+
Updated•10 years ago
|
blocking-b2g: 2.2? → 2.2+
Assignee | ||
Comment 12•10 years ago
|
||
Comment 13•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox40:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
Comment 14•10 years ago
|
||
Please request b2g37 approval on this patch when you get a chance.
Assignee | ||
Comment 15•10 years ago
|
||
Comment on attachment 8592268 [details]
MozReview Request: bz://1153711/botond
NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.
[Approval Request Comment]
Bug caused by (feature/regressing bug #):
Bug 1066888 (physics tweaks for overscroll effect).
User impact if declined:
When releasing the finger after a horizontal pan in
the B2G browser, momentum scrolling does not happen.
Testing completed:
Tested locally, and on m-c since 2015-04-15.
Risk to taking this patch (and alternatives if risky):
Low - this is small, targeted fix.
String or UUID changes made by this patch:
None.
Flags: needinfo?(botond)
Attachment #8592268 -
Flags: approval-mozilla-b2g37?
Updated•10 years ago
|
Attachment #8592268 -
Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Comment 18•10 years ago
|
||
Comment 19•10 years ago
|
||
Issue verified fixed on Flame 2.2 and 3.0
Flinging horizontally on test page continues scrolling without further user input until deceleration or if interrupted by user. Vertical flinging works in same way.
Device: Flame 2.2
Build ID: 20150428002500
Gaia: 9f6b1b9082662ba2c14168fc66bb02b4df3141e5
Gecko: e79c19bf19bf
Gonk: ebad7da532429a6f5efadc00bf6ad8a41288a429
Version: 37.0 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Device: Flame 3.0
Build ID: 20150428010206
Gaia: 0636405f0844bf32451a375b2d61a2b16fe33348
Gecko: caf25344f73e
Gonk: b83fc73de7b64594cd74b33e498bf08332b5d87b
Version: 40.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Updated•10 years ago
|
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Assignee | ||
Comment 20•9 years ago
|
||
Attachment #8592268 -
Attachment is obsolete: true
Attachment #8620029 -
Flags: review+
Assignee | ||
Comment 21•9 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•