From 2dd26b6b323412ecb0e71ec11e35ee9b0b61a4ba Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Mon, 11 Sep 2017 18:50:19 -0500 Subject: [PATCH] servo: Merge #18450 - Use the LonghandIdSet to check whether a property is set (from upsuper:property-is-set); r=Manishearth Servo side change of [bug 1398479](https://bugzilla.mozilla.org/show_bug.cgi?id=1398479). Source-Repo: https://github.com/servo/servo Source-Revision: 24b2d8d9cf265a149535ebc22941e427dd5e21b3 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : 5a2be5b5ff4886cce99883d4338bad2d6621527e --- servo/components/style/properties/declaration_block.rs | 5 +++++ servo/ports/geckolib/glue.rs | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) 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)) }) }