Parse stylesheets without acquiring a shared lock.

This commit is contained in:
Simon Sapin 2017-03-18 14:25:25 +01:00
parent cc046300f0
commit d9491187dc
4 changed files with 42 additions and 42 deletions

View file

@ -362,8 +362,6 @@ pub extern "C" fn Servo_StyleSheet_ClearAndUpdate(stylesheet: RawServoStyleSheet
referrer: *mut ThreadSafeURIHolder,
principal: *mut ThreadSafePrincipalHolder)
{
let global_style_data = &*GLOBAL_STYLE_DATA;
let mut guard = global_style_data.shared_lock.write();
let input = unsafe { data.as_ref().unwrap().as_str_unchecked() };
let extra_data = unsafe { ParserContextExtraData {
base: Some(GeckoArcURI::new(base)),
@ -384,10 +382,7 @@ pub extern "C" fn Servo_StyleSheet_ClearAndUpdate(stylesheet: RawServoStyleSheet
};
let sheet = Stylesheet::as_arc(&stylesheet);
sheet.rules.write_with(&mut guard).0.clear();
Stylesheet::update_from_str(&sheet, input, &mut guard, loader,
&StdoutErrorReporter, extra_data);
Stylesheet::update_from_str(&sheet, input, loader, &StdoutErrorReporter, extra_data);
}
#[no_mangle]