Auto merge of #17384 - emilio:stylist-attr-dep, r=nox

style: Clean up some stylist code and make it slightly more efficient.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17384)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-06-17 06:20:45 -07:00 committed by GitHub
commit c5433277b4

View file

@ -549,7 +549,7 @@ impl Stylist {
if *local_name == local_name!("style") { if *local_name == local_name!("style") {
self.style_attribute_dependency self.style_attribute_dependency
} else { } else {
self.attribute_dependencies.might_contain(local_name) self.attribute_dependencies.might_contain_hash(local_name.get_hash())
} }
} }
@ -1169,7 +1169,7 @@ impl Stylist {
/// of our rule maps. /// of our rule maps.
#[inline] #[inline]
pub fn may_have_rules_for_id(&self, id: &Atom) -> bool { pub fn may_have_rules_for_id(&self, id: &Atom) -> bool {
self.mapped_ids.might_contain(id) self.mapped_ids.might_contain_hash(id.get_hash())
} }
/// Return whether the device is dirty, that is, whether the screen size or /// Return whether the device is dirty, that is, whether the screen size or
@ -1304,16 +1304,11 @@ impl<'a> SelectorVisitor for AttributeAndStateDependencyVisitor<'a> {
fn visit_attribute_selector(&mut self, _ns: &NamespaceConstraint<&Namespace>, fn visit_attribute_selector(&mut self, _ns: &NamespaceConstraint<&Namespace>,
name: &LocalName, lower_name: &LocalName) name: &LocalName, lower_name: &LocalName)
-> bool { -> bool {
#[cfg(feature = "servo")] if *lower_name == local_name!("style") {
let style_lower_name = local_name!("style");
#[cfg(feature = "gecko")]
let style_lower_name = atom!("style");
if *lower_name == style_lower_name {
*self.style_attribute_dependency = true; *self.style_attribute_dependency = true;
} else { } else {
self.attribute_dependencies.insert(&name); self.attribute_dependencies.insert_hash(name.get_hash());
self.attribute_dependencies.insert(&lower_name); self.attribute_dependencies.insert_hash(lower_name.get_hash());
} }
true true
} }
@ -1337,7 +1332,7 @@ impl<'a> SelectorVisitor for MappedIdVisitor<'a> {
/// We just want to insert all the ids we find into mapped_ids. /// We just want to insert all the ids we find into mapped_ids.
fn visit_simple_selector(&mut self, s: &Component<SelectorImpl>) -> bool { fn visit_simple_selector(&mut self, s: &Component<SelectorImpl>) -> bool {
if let Component::ID(ref id) = *s { if let Component::ID(ref id) = *s {
self.mapped_ids.insert(id); self.mapped_ids.insert_hash(id.get_hash());
} }
true true
} }