diff --git a/components/style/gecko/arc_types.rs b/components/style/gecko/arc_types.rs index 707266d2bec..8088482d3cf 100644 --- a/components/style/gecko/arc_types.rs +++ b/components/style/gecko/arc_types.rs @@ -114,9 +114,8 @@ impl_locked_arc_ffi!( Servo_PageRule_AddRef, Servo_PageRule_Release ); -impl_locked_arc_ffi!( +impl_simple_arc_ffi!( PropertyRule, - LockedPropertyRule, Servo_PropertyRule_AddRef, Servo_PropertyRule_Release ); diff --git a/components/style/stylesheets/mod.rs b/components/style/stylesheets/mod.rs index 5230ab63e94..6d1a8e775b4 100644 --- a/components/style/stylesheets/mod.rs +++ b/components/style/stylesheets/mod.rs @@ -263,7 +263,7 @@ pub enum CssRule { Keyframes(Arc>), Supports(Arc>), Page(Arc>), - Property(Arc>), + Property(Arc), Document(Arc>), LayerBlock(Arc>), LayerStatement(Arc>), @@ -309,9 +309,7 @@ impl CssRule { lock.unconditional_shallow_size_of(ops) + lock.read_with(guard).size_of(guard, ops) }, - CssRule::Property(ref lock) => { - lock.unconditional_shallow_size_of(ops) + lock.read_with(guard).size_of(guard, ops) - }, + CssRule::Property(ref rule) => rule.size_of(guard, ops), CssRule::Document(ref lock) => { lock.unconditional_shallow_size_of(ops) + lock.read_with(guard).size_of(guard, ops) @@ -598,7 +596,7 @@ impl ToCssWithGuard for CssRule { CssRule::Media(ref lock) => lock.read_with(guard).to_css(guard, dest), CssRule::Supports(ref lock) => lock.read_with(guard).to_css(guard, dest), CssRule::Page(ref lock) => lock.read_with(guard).to_css(guard, dest), - CssRule::Property(ref lock) => lock.read_with(guard).to_css(guard, dest), + CssRule::Property(ref rule) => rule.to_css(guard, dest), CssRule::Document(ref lock) => lock.read_with(guard).to_css(guard, dest), CssRule::LayerBlock(ref lock) => lock.read_with(guard).to_css(guard, dest), CssRule::LayerStatement(ref lock) => lock.read_with(guard).to_css(guard, dest), diff --git a/components/style/stylesheets/rule_parser.rs b/components/style/stylesheets/rule_parser.rs index 8aee0326538..fd03f726efd 100644 --- a/components/style/stylesheets/rule_parser.rs +++ b/components/style/stylesheets/rule_parser.rs @@ -720,8 +720,11 @@ impl<'a, 'b, 'i> AtRuleParser<'i> for NestedRuleParser<'a, 'b, 'i> { }))) }, AtRulePrelude::Property(name) => self.nest_for_rule(CssRuleType::Property, |p| { - CssRule::Property(Arc::new(p.shared_lock.wrap( - parse_property_block(&p.context, input, name, start.source_location()), + CssRule::Property(Arc::new(parse_property_block( + &p.context, + input, + name, + start.source_location(), ))) }), AtRulePrelude::Document(condition) => {