Regarding the click and hold of the scrollbar track (gutter), the scrolling does not stop for a while after mouse up.
Categories
(Core :: Layout: Scrolling and Overflow, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox-esr115 | --- | unaffected |
firefox117 | --- | wontfix |
firefox118 | --- | affected |
firefox119 | --- | affected |
People
(Reporter: alice0775, Unassigned)
References
(Regression)
Details
(Keywords: nightly-community, regression)
Steps to reproduce:
- Enable smooth scroll
- Open long page. e.g. https://ftp.mozilla.org/pub/firefox/nightly/2023/08/2023-08-01-03-45-57-mozilla-central-l10n/
- Click-hold scrollbar track to start scrolling
- Mouse up after 1-2 seconds
Actual Results:
It seems to take too long( >1.5 sec.) for the scrolling to stop after mouse up.
The scrolling inertia seems to be too large.
Profiler
Nightly119.0a1(Build Id 20230831161708) : https://share.firefox.dev/45OYcPG
Firefox115: https://share.firefox.dev/3Eiujvo
Expected Results:
Scrolling should stop within a short time( < 0.5 sec.).
Comment 1•1 year ago
|
||
Set release status flags based on info from the regressing bug 1331390
:rzvncj, since you are the author of the regressor, bug 1331390, could you take a look?
For more information, please visit BugBot documentation.
Updated•1 year ago
|
Comment 2•1 year ago
|
||
Would it be possible to check if the changes from bug 1846575 have fixed this (unless :botond objects to the suggestion)?
Reporter | ||
Comment 3•1 year ago
|
||
No, the bug 1846575 did not fix this.
Updated•1 year ago
|
Comment 4•1 year ago
|
||
This time, I definitely suspect the change in physics from ScrollMode::Smooth
to ScrollMode::SmoothMsd
-- the MSD animation seems to have a longer tail before stopping.
Alice, could you try this build please (which changes it back to ScrollMode::Smooth
as planned bug 1840025) and let me know if it addresses the issue?
Reporter | ||
Comment 5•1 year ago
|
||
(In reply to Botond Ballo [:botond] from comment #4)
This time, I definitely suspect the change in physics from
ScrollMode::Smooth
toScrollMode::SmoothMsd
-- the MSD animation seems to have a longer tail before stopping.Alice, could you try this build please (which changes it back to
ScrollMode::Smooth
as planned bug 1840025) and let me know if it addresses the issue?
This bug(in case of general.smoothScroll = true, general.smoothScroll.pages = true) is fixed on the try build.
However, bug 1850457 (when general.smoothScroll = true, general.smoothScroll.pages = false) causes the behavior to ignore general.smoothScroll.pages on mouse up.
Comment 6•1 year ago
|
||
(In reply to Alice0775 White from comment #5)
(In reply to Botond Ballo [:botond] from comment #4)
This time, I definitely suspect the change in physics from
ScrollMode::Smooth
toScrollMode::SmoothMsd
-- the MSD animation seems to have a longer tail before stopping.Alice, could you try this build please (which changes it back to
ScrollMode::Smooth
as planned bug 1840025) and let me know if it addresses the issue?This bug(in case of general.smoothScroll = true, general.smoothScroll.pages = true) is fixed on the try build.
Thanks for checking.
However, bug 1850457 (when general.smoothScroll = true, general.smoothScroll.pages = false) causes the behavior to ignore general.smoothScroll.pages on mouse up.
Good catch!
I expected ScrollMode::Smooth
to handle checking these prefs at the time of starting the animation (for animations handed off to the compositor, that happens here, with the function returning zero-duration settings if the scroll should be instant), but this relies on the scroll origin being propagated there. The interface we're using to trigger the scroll in nsSliderFrame::PageScroll()
, nsIScrollableFrame::ScrollTo()
, does not take a ScrollOrigin
parameter, so when we start the animation we don't know the origin is ScrollOrigin::Pages
and thus we should check the .pages
pref.
We could get nsIScrollableFrame::ScrollTo()
to take a scroll origin, but a simpler fix is just to keep the check at the call site in nsSliderFrame::PageScroll()
.
Comment 7•1 year ago
|
||
(In reply to Botond Ballo [:botond] from comment #6)
a simpler fix is just to keep the check at the call site in
nsSliderFrame::PageScroll()
.
I will land the fix in bug 1840025.
Comment 8•1 year ago
|
||
Should be fixed by bug 1840025.
Description
•