Closed Bug 1247854 Opened 4 years ago Closed 4 years ago

Scrolling with mousewheel is broken in some situations

Categories

(Core :: Panning and Zooming, defect, P1)

46 Branch
Unspecified
All
defect

Tracking

()

VERIFIED FIXED
mozilla48
Tracking Status
firefox44 --- unaffected
firefox45 --- unaffected
firefox46 + fixed
firefox47 + verified
firefox48 --- verified

People

(Reporter: julienw, Assigned: mstange)

References

Details

(Keywords: regression, Whiteboard: gfx-noted)

Attachments

(3 files)

[Tracking Requested - why for this release]:

STR:
1. Go to https://www.paris-web.fr/association/membres.php
2. put your mouse on a non empty space
3. Try to scroll using the mousewheel (or anything similar like the trackpad scroll -- on Linux at least)
=> It doesn't work at all.

This works when doing the same gesture on the blue background on the left or the right of the page.
This also works when the page is in "mobile" mode (you can press ctrl + + repeatidly to enter this mode, or enter responsive mode).

Reproducing in Aurora 46 and Nightly 47 (Build ID: 20160211030242).
NOT reproducing in Beta 45 and Stable 44.

Nothing looks unusual in this page's CSS. The obvious difference between the mobile and desktop versions of the site is the use of a "float" in the desktop version.
Version: 44 Branch → 46 Branch
Component: Untriaged → Panning and Zooming
Reproduced on Windows7 and Ubuntu14.04
OS: Unspecified → All
Also happens on OS X aurora and nightly. Doesn't happen if APZ is disabled.
Blocks: all-aboard-apz
No longer blocks: apz-desktop
Attached file reduced html
Whiteboard: gfx-noted
Assignee: nobody → mstange
Flags: needinfo?(mstange)
Duplicate of this bug: 1248608
This is a P1 blocking APZ rollout since we're generally recommending Keith's pure-CSS parallax approach as being APZ-friendly and it's currently broken because of this bug.
Priority: -- → P1
I've decided to fix this in a very explicit way. The only "magic" part that's
left is how we decide that the AGR of the perspective item is outside the
scrolled frame (and I'm not sure myself how that works).

I didn't want to change what scroll clips we set on what items, because the
scroll clip really belongs on the perspective item, because that's the item
that needs to be clipped, and it should also be the item that should be
scrolled if it weren't for the fact that APZ wouldn't know that it should
apply the perspective transform before the APZ transform.

Review commit: https://reviewboard.mozilla.org/r/36833/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/36833/
Attachment #8724047 - Flags: review?(matt.woodrow)
Comment on attachment 8724047 [details]
MozReview Request: Bug 1247854 - Apply the correct scroll clips to the nsDisplayTransform and nsDisplayPerspective of a scrolled perspective item. r?mattwoodrow

https://reviewboard.mozilla.org/r/36833/#review33773
Attachment #8724047 - Flags: review?(matt.woodrow) → review+
Tracking, regression. 
Markus, once this lands, want to request uplift?
Yes, absolutely, this needs to be uplifted once it lands. It's currently waiting for the patches in bug 1238564 to be reviewed and landed.
https://hg.mozilla.org/mozilla-central/rev/e0b2fffc1360
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Comment on attachment 8724047 [details]
MozReview Request: Bug 1247854 - Apply the correct scroll clips to the nsDisplayTransform and nsDisplayPerspective of a scrolled perspective item. r?mattwoodrow

Approval Request Comment
[Feature/regressing bug #]: APZ / bug 1147673
[User impact if declined]: scrolling impossible on some pages, and a certain parallax technique won't work properly
[Describe test coverage new/current, TreeHerder]: this patch adds a test
[Risks and why]: low
[String/UUID change made/needed]: none

This patch requires the changes in bug 1238564.
Attachment #8724047 - Flags: approval-mozilla-beta?
Attachment #8724047 - Flags: approval-mozilla-aurora?
kats says we'll want this fix for the APZ experiment on Beta 46.
Comment on attachment 8724047 [details]
MozReview Request: Bug 1247854 - Apply the correct scroll clips to the nsDisplayTransform and nsDisplayPerspective of a scrolled perspective item. r?mattwoodrow

This sounds like a must fix, has been in Nightly for a week, taking it. Aurora47+, Beta46+
Attachment #8724047 - Flags: approval-mozilla-beta?
Attachment #8724047 - Flags: approval-mozilla-beta+
Attachment #8724047 - Flags: approval-mozilla-aurora?
Attachment #8724047 - Flags: approval-mozilla-aurora+
Julien, could you please verify this issue is fixed as expected on the latest Nightly build (03-10-2016 build on wards has the fix)? Thanks!
Flags: needinfo?(felash)
Yes this is fixed on Nightly :)

Thanks for the hard work !
Flags: needinfo?(felash)
has conflicts uplifting to aurora:

grafting 332726:e0b2fffc1360 "Bug 1247854 - Apply the correct scroll clips to the nsDisplayTransform and nsDisplayPerspective of a scrolled perspective item. r=mattwoodrow"
merging layout/base/FrameLayerBuilder.cpp
merging layout/reftests/async-scrolling/reftest.list
warning: conflicts while merging layout/base/FrameLayerBuilder.cpp! (edit, then use 'hg resolve --mark')
warning: conflicts while merging layout/reftests/async-scrolling/reftest.list! (edit, then use 'hg resolve --mark')
abort: unresolved conflicts, can't continue
(use hg resolve and hg graft --continue)
Flags: needinfo?(mstange)
This patch requires the patches in bug 1238564. We can't uplift it until those patches are also uplifted.
Flags: needinfo?(mstange)
Ritu, could you please also approve bug 1238564 for uplift?
Flags: needinfo?(rkothari)
wes, can you try to land this again after landing the uplifts in bug 1238564? Thanks!
Flags: needinfo?(wkocher)
Liz and I chatted about the risks involved in uplifting bug 1238564. The fix was deemed must-have for 46 and 47. She A+'d in the other bug.
Flags: needinfo?(rkothari)
has problems uplifting to beta:

merging layout/base/FrameLayerBuilder.cpp
merging layout/base/FrameLayerBuilder.h
merging layout/reftests/async-scrolling/reftest.list
warning: conflicts while merging layout/base/FrameLayerBuilder.cpp! (edit, then use 'hg resolve --mark')
warning: conflicts while merging layout/reftests/async-scrolling/reftest.list! (edit, then use 'hg resolve --mark')
abort: unresolved conflicts, can't continue
(use hg resolve and hg graft --continue)
Flags: needinfo?(mstange)
Flags: needinfo?(wkocher)
Flags: needinfo?(mstange)
Verified as fixed using Firefox 47 beta 1 (with e10s enabled) and latest Aurora 48.0a2.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.