mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 08:45:46 +00:00
62e557b598
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 |
||
---|---|---|
.. | ||
init | ||
parser | ||
test | ||
greprefs.js | ||
moz.build | ||
nsIPrefBranch.idl | ||
nsIPrefLocalizedString.idl | ||
nsIPrefService.idl | ||
nsIRelativeFilePref.idl | ||
Preferences.cpp | ||
Preferences.h | ||
SharedPrefMap.cpp | ||
SharedPrefMap.h | ||
StaticPrefs.h |