Open Bug 1865782 Opened 2 years ago Updated 2 years ago

general.smoothScroll from global preferences

Categories

(Core :: Layout: Scrolling and Overflow, defect, P3)

Firefox 120
defect

Tracking

()

UNCONFIRMED

People

(Reporter: mail, Unassigned)

References

(Regression)

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0

Steps to reproduce:

I have a file /usr/lib/firefox/browser/defaults/preferences/prefs.js that gives some global preferences. This includes:

pref("general.smoothScroll", false);

This is (no longer) honored. It used to, but no idea when it broke.

Setting general.smoothScroll to FALSE in about:config works as expected.

Actual results:

Smooth scrolling is enabled.

Expected results:

Smooth scrolling should be disabled, as configured globally.

Component: Untriaged → Layout: Scrolling and Overflow
Product: Firefox → Core

Hmm, bug 1856196 is supposed to be fixed in 120.0, no?
Then no, as it still happens there.

Just did some downgrades... This used to work ok with Firefox 113.0, and broke with Firefox 114.0. So the malfunction was introduces in between these two versions.

You could use mozregression https://mozilla.github.io/mozregression/ to find the exact changeset that caused it?

Sure... But one (hopefully not too) stupid question: Where do these builds read system configuration, specifically the file mentioned above?

The severity field is not set for this bug.
:hiro, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(hikezoe.birchill)

Probably bug 1830103, it's uplifted to 114 beta, or bug 1753565. CCing Dan.

Severity: -- → S3
Flags: needinfo?(hikezoe.birchill)
Priority: -- → P3

(In reply to Christian Hesse from comment #5)

Sure... But one (hopefully not too) stupid question: Where do these builds read system configuration, specifically the file mentioned above?

That's a very good question. When mozregression runs a build, it extracts the application to a temporary directory such as /tmp/tmpyrw5hq58/firefox. The equivalent of /usr/lib/firefox/browser/defaults/preferences/prefs.js would then be /tmp/tmpyrw5hq58/firefox/browser/defaults/preferences/prefs.js (the defaults and preferences subdirectories may have to be created manually).

A challenge with testing this sort of scenario with mozregression is that it doesn't give you a chance to put a file there in between creating the temporary directory, and launching the application.

Anyways, there should be no need to run mozregression at this point since we have a couple of likely candidates for the regressing change already in comment 7.

I tried adding a preference to browser/defaults/preferences/prefs.js, and about:config shows the value specified there as the preference's default value.

So, it was definitely bug 1753565 which changed the behaviour.

The intent of that change is to override a default value of general.smoothScroll=true with general.smoothScroll=false if the operating system "prefer reduced motion" setting is enabled, but respect a user-specified value of generalsmoothScroll=true.

Since the value in browser/defaults/preferences/prefs.js is being picked up as a default value rather than a user-specified value, the overriding happens.

Keywords: regression
Regressed by: 1753565

:dlrobertson, since you are the author of the regressor, bug 1753565, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(drobertson)

Canceling the needinfo since we understand how bug 1753565 caused the regression.

A fix here would likely require new functionality in the Preferences API, to distinguish between a "hard-coded default" and a "default set via a prefs.js file".

Flags: needinfo?(drobertson)
See Also: → 1862645
You need to log in before you can comment on or make changes to this bug.