Remove usage of opts::get() from style.

Part of #22854.
This commit is contained in:
Kitlith 2019-10-18 16:42:18 -07:00
parent 118a9ecdfe
commit 0a07a88904
3 changed files with 36 additions and 5 deletions

View file

@ -310,6 +310,15 @@ where
// Global configuration options, parsed from the command line. // Global configuration options, parsed from the command line.
let opts = opts::get(); let opts = opts::get();
use std::sync::atomic::Ordering;
style::context::DEFAULT_DISABLE_STYLE_SHARING_CACHE
.store(opts.disable_share_style_cache, Ordering::Relaxed);
style::context::DEFAULT_DUMP_STYLE_STATISTICS
.store(opts.style_sharing_stats, Ordering::Relaxed);
style::traversal::IS_SERVO_NONINCREMENTAL_LAYOUT
.store(opts.nonincremental_layout, Ordering::Relaxed);
if !opts.multiprocess { if !opts.multiprocess {
media_platform::init(); media_platform::init();
} }

View file

@ -103,14 +103,29 @@ fn get_env_usize(name: &str) -> Option<usize> {
}) })
} }
/// A global variable holding the state of
/// `StyleSystemOptions::default().disable_style_sharing_cache`.
/// See [#22854](https://github.com/servo/servo/issues/22854).
#[cfg(feature = "servo")]
pub static DEFAULT_DISABLE_STYLE_SHARING_CACHE: std::sync::atomic::AtomicBool =
std::sync::atomic::AtomicBool::new(false);
/// A global variable holding the state of
/// `StyleSystemOptions::default().dump_style_statistics`.
/// See [#22854](https://github.com/servo/servo/issues/22854).
#[cfg(feature = "servo")]
pub static DEFAULT_DUMP_STYLE_STATISTICS: std::sync::atomic::AtomicBool =
std::sync::atomic::AtomicBool::new(false);
impl Default for StyleSystemOptions { impl Default for StyleSystemOptions {
#[cfg(feature = "servo")] #[cfg(feature = "servo")]
fn default() -> Self { fn default() -> Self {
use servo_config::opts; use std::sync::atomic::Ordering;
StyleSystemOptions { StyleSystemOptions {
disable_style_sharing_cache: opts::get().disable_share_style_cache, disable_style_sharing_cache: DEFAULT_DISABLE_STYLE_SHARING_CACHE
dump_style_statistics: opts::get().style_sharing_stats, .load(Ordering::Relaxed),
dump_style_statistics: DEFAULT_DUMP_STYLE_STATISTICS.load(Ordering::Relaxed),
style_statistics_threshold: DEFAULT_STATISTICS_THRESHOLD, style_statistics_threshold: DEFAULT_STATISTICS_THRESHOLD,
} }
} }

View file

@ -45,12 +45,19 @@ impl<E: TElement> PreTraverseToken<E> {
} }
} }
/// A global variable holding the state of
/// `is_servo_nonincremental_layout()`.
/// See [#22854](https://github.com/servo/servo/issues/22854).
#[cfg(feature = "servo")]
pub static IS_SERVO_NONINCREMENTAL_LAYOUT: std::sync::atomic::AtomicBool =
std::sync::atomic::AtomicBool::new(false);
#[cfg(feature = "servo")] #[cfg(feature = "servo")]
#[inline] #[inline]
fn is_servo_nonincremental_layout() -> bool { fn is_servo_nonincremental_layout() -> bool {
use servo_config::opts; use std::sync::atomic::Ordering;
opts::get().nonincremental_layout IS_SERVO_NONINCREMENTAL_LAYOUT.load(Ordering::Relaxed)
} }
#[cfg(not(feature = "servo"))] #[cfg(not(feature = "servo"))]