Allow overriding prefs
This commit would allow overriding prefs (locked or otherwise) with a user accessible file even on sandboxed/restricted releases (like AppImage or Flatpak).
This works because the last specific pref value that is parsed
during startup is the one that gets actually applied; this way
an empty / non existing overrides file will not have any effect,
and only prefs changed in this file will be changed, while other
prefs from the librewolf.cfg
will still be applied.
The difference to a user.js
is that at this stage / with this
file, even locked prefs can still be modified.
Should we desire to have some prefs really locked down (which we do not want to be changeable with this override method), we could just place them after the changes from this MR - so they would be parsed after those defined in the overrides file and could override pref changes made there.
Somewhat related to #45 (closed), #27 (closed); should partially fix #8 (closed) and basically mitigate the recurring issues of users unable to edit some locked settings when using a more restricted release variant.
Should probably be added to the docs, once merged.