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.
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 {
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 {
#[cfg(feature = "servo")]
fn default() -> Self {
use servo_config::opts;
use std::sync::atomic::Ordering;
StyleSystemOptions {
disable_style_sharing_cache: opts::get().disable_share_style_cache,
dump_style_statistics: opts::get().style_sharing_stats,
disable_style_sharing_cache: DEFAULT_DISABLE_STYLE_SHARING_CACHE
.load(Ordering::Relaxed),
dump_style_statistics: DEFAULT_DUMP_STYLE_STATISTICS.load(Ordering::Relaxed),
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")]
#[inline]
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"))]