gecko-dev/modules/libpref
Kris Maglione 62e557b598 Bug 1471025: Part 4 - Add a wrapper class that can access either static or dynamic prefs. r=njn
The in-memory format of shared-memory preferences is significantly different
from the format used by dynamic preferences, which means that we need
different classes to access their properties.

Virtual classes would be a potential solution to this problem, but I don't
think the performance characteristics would be acceptable for preferences
code. And since the wrapper classes used for static prefs are temporary, they
would add the additional snag of figuring out how to keep a valid pointer
alive.

So, instead, this patch adds a wrapper class that can access either type of
preference, based on known type flags in a Variant. It also moves some of the
logic for deciding which preference value to return to the wrapper, so that it
doesn't need to be duplicated for each representation.

MozReview-Commit-ID: LameIIbYcD3

--HG--
extra : rebase_source : bf986b6008123661547949f615c8416403321835
extra : absorb_source : e86aae959325a9c3198e0259468a47a656739278
2018-07-01 23:23:48 -07:00
..
init Bug 1475236 - Expiration time for the anti-tracking permission should be controllable via pref, r=ehsan 2018-07-13 19:19:26 +02:00
parser Bug 440908 - Add support for sticky and locked attributes to default prefs. r=glandium 2018-03-02 15:31:40 +11:00
test Bug 1472523: Part 2 - Avoid unnecessary string copies in preference caches. r=njn 2018-06-30 23:07:30 -07:00
greprefs.js Bug 1448077 - move DevTools prefs from libpref/init/all.js to devtools/shared;r=jryans 2018-04-06 12:22:53 +02:00
moz.build Bug 1471025: Part 2 - Add a helper class creating and accessing shared preference map snapshots. r=njn,erahm 2018-07-01 18:28:31 -07:00
nsIPrefBranch.idl Bug 1472523: Part 4 - Avoid unnecessary domain string duplication in preference observers. r=njn 2018-07-04 14:52:48 -07:00
nsIPrefLocalizedString.idl Bug 1409635 (part 2) - Fix up nsIPrefLocalizedString. r=froydnj. 2017-10-18 16:51:56 +11:00
nsIPrefService.idl Bug 1471025: Part 1 - Store preference access counts in a separate hashtable. r=njn 2018-07-02 23:33:28 -07:00
nsIRelativeFilePref.idl
Preferences.cpp Bug 1471025: Part 4 - Add a wrapper class that can access either static or dynamic prefs. r=njn 2018-07-01 23:23:48 -07:00
Preferences.h Bug 1471025: Part 3a - Pass shared preference map to (non-Android) content processes at startup. r=jld,njn 2018-07-02 15:40:38 -07:00
SharedPrefMap.cpp Bug 1471025: Part 2 - Add a helper class creating and accessing shared preference map snapshots. r=njn,erahm 2018-07-01 18:28:31 -07:00
SharedPrefMap.h Bug 1471025: Part 2 - Add a helper class creating and accessing shared preference map snapshots. r=njn,erahm 2018-07-01 18:28:31 -07:00
StaticPrefs.h Bug 1472523: Part 1 - Avoid string copies in preference callbacks. r=njn 2018-06-30 23:06:17 -07:00