diff --git a/servo/components/style/properties/declaration_block.rs b/servo/components/style/properties/declaration_block.rs index 9d9a3a7b2fe5..c91b3a73f304 100644 --- a/servo/components/style/properties/declaration_block.rs +++ b/servo/components/style/properties/declaration_block.rs @@ -239,6 +239,11 @@ impl PropertyDeclarationBlock { !self.declarations_importance.all_true() } + /// Returns whether this block contains a declaration of a given longhand. + pub fn contains(&self, id: LonghandId) -> bool { + self.longhands.contains(id) + } + /// Get a declaration for a given property. /// /// NOTE: This is linear time. diff --git a/servo/ports/geckolib/glue.rs b/servo/ports/geckolib/glue.rs index b2f4971a9682..a5489f1b65b6 100644 --- a/servo/ports/geckolib/glue.rs +++ b/servo/ports/geckolib/glue.rs @@ -2566,10 +2566,8 @@ pub extern "C" fn Servo_DeclarationBlock_PropertyIsSet(declarations: RawServoDeclarationBlockBorrowed, property: nsCSSPropertyID) -> bool { - use style::properties::PropertyDeclarationId; - let long = get_longhand_from_id!(property); read_locked_arc(declarations, |decls: &PropertyDeclarationBlock| { - decls.get(PropertyDeclarationId::Longhand(long)).is_some() + decls.contains(get_longhand_from_id!(property)) }) }