mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 03:35:33 +00:00
12640bca82
This patch introduces a new Rust crate called `static_prefs`. It also changes generate_static_pref_list.py to generate two new files. - StaticPrefsCGetters.cpp: contains C getters, which are just wrappers around the C++ getters. This is included into Preferences.cpp. - static_prefs.rs: contains declarations for the C getters, plus the `pref!` macro which provides nice syntax for calling the C getters. This is included into static_prefs/src/lib.rs. The new code is only generated for prefs marked with the new `rust` field in the YAML. It's opt-in because there's no point generating additional code for 900+ static prefs when only about 20 are currently used from Rust. This patch only marks a single pref (`browser.display.document_color_use`) with `rust: true`. That pref isn't accessed from Rust code in this patch, but it's necessary because the generated Rust code is invalid if there are zero Rust-accessed prefs. (The next patch will access that pref and others from Rust code. Differential Revision: https://phabricator.services.mozilla.com/D40791 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
docs | ||
init | ||
parser | ||
test | ||
components.conf | ||
greprefs.js | ||
moz.build | ||
nsIPrefBranch.idl | ||
nsIPrefLocalizedString.idl | ||
nsIPrefService.idl | ||
nsIRelativeFilePref.idl | ||
nsRelativeFilePref.h | ||
Preferences.cpp | ||
Preferences.h | ||
SharedPrefMap.cpp | ||
SharedPrefMap.h | ||
StaticPrefsBase.h |