#8539 Config preferences backend restructure

This commit is contained in:
Peter Hall 2019-02-14 12:53:59 +00:00
parent 34fda66dfa
commit 8bfd4dc1e2
53 changed files with 1748 additions and 680 deletions

View file

@ -11,6 +11,7 @@ use crate::parallel::STYLE_THREAD_STACK_SIZE_KB;
use crate::shared_lock::SharedRwLock;
use crate::thread_state;
use rayon;
use servo_config::pref;
use std::env;
/// Global style data
@ -69,8 +70,7 @@ lazy_static! {
// We always set this pref on startup, before layout or script
// have had a chance of accessing (and thus creating) the
// thread-pool.
use servo_config::prefs::PREFS;
PREFS.get("layout.threads").as_u64().unwrap() as usize
pref!(layout.threads) as usize
}
#[cfg(feature = "gecko")]
_ => {

View file

@ -33,7 +33,7 @@ use crate::parser::ParserContext;
use crate::properties::longhands::system_font::SystemFont;
use crate::selector_parser::PseudoElement;
use selectors::parser::SelectorParseErrorKind;
#[cfg(feature = "servo")] use servo_config::prefs::PREFS;
#[cfg(feature = "servo")] use servo_config::prefs;
use style_traits::{CssWriter, KeywordsCollectFn, ParseError, ParsingMode};
use style_traits::{SpecifiedValueInfo, StyleParseErrorKind, ToCss};
use crate::stylesheets::{CssRuleType, Origin, UrlExtraData};
@ -514,7 +514,7 @@ impl NonCustomPropertyId {
Some(pref) => pref,
};
PREFS.get(pref).as_boolean().unwrap_or(false)
prefs::pref_map().get(pref).as_bool().unwrap_or(false)
% else:
unsafe { structs::nsCSSProps_gPropertyEnabled[self.0] }
% endif

View file

@ -27,6 +27,7 @@ use cssparser::CowRcStr;
use cssparser::{parse_important, AtRuleParser, DeclarationListParser, DeclarationParser, Parser};
use euclid::TypedSize2D;
use selectors::parser::SelectorParseErrorKind;
use servo_config::pref;
use std::borrow::Cow;
use std::cell::RefCell;
use std::fmt::{self, Write};
@ -38,11 +39,7 @@ use style_traits::{CssWriter, ParseError, PinchZoomFactor, StyleParseErrorKind,
/// Whether parsing and processing of `@viewport` rules is enabled.
#[cfg(feature = "servo")]
pub fn enabled() -> bool {
use servo_config::prefs::PREFS;
PREFS
.get("layout.viewport.enabled")
.as_boolean()
.unwrap_or(false)
pref!(layout.viewport.enabled)
}
/// Whether parsing and processing of `@viewport` rules is enabled.