зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #17384 - style: Clean up some stylist code and make it slightly more efficient (from emilio:stylist-attr-dep); r=nox
Source-Repo: https://github.com/servo/servo Source-Revision: c5433277b44467ccbfd00024000ded5769157e3c --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : 8990e102de45adea1db5ad9421374d6692167c81
This commit is contained in:
Родитель
ea751a6a52
Коммит
264b5bdf0b
|
@ -549,7 +549,7 @@ impl Stylist {
|
|||
if *local_name == local_name!("style") {
|
||||
self.style_attribute_dependency
|
||||
} 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.
|
||||
#[inline]
|
||||
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
|
||||
|
@ -1304,16 +1304,11 @@ impl<'a> SelectorVisitor for AttributeAndStateDependencyVisitor<'a> {
|
|||
fn visit_attribute_selector(&mut self, _ns: &NamespaceConstraint<&Namespace>,
|
||||
name: &LocalName, lower_name: &LocalName)
|
||||
-> bool {
|
||||
#[cfg(feature = "servo")]
|
||||
let style_lower_name = local_name!("style");
|
||||
#[cfg(feature = "gecko")]
|
||||
let style_lower_name = atom!("style");
|
||||
|
||||
if *lower_name == style_lower_name {
|
||||
if *lower_name == local_name!("style") {
|
||||
*self.style_attribute_dependency = true;
|
||||
} else {
|
||||
self.attribute_dependencies.insert(&name);
|
||||
self.attribute_dependencies.insert(&lower_name);
|
||||
self.attribute_dependencies.insert_hash(name.get_hash());
|
||||
self.attribute_dependencies.insert_hash(lower_name.get_hash());
|
||||
}
|
||||
true
|
||||
}
|
||||
|
@ -1337,7 +1332,7 @@ impl<'a> SelectorVisitor for MappedIdVisitor<'a> {
|
|||
/// We just want to insert all the ids we find into mapped_ids.
|
||||
fn visit_simple_selector(&mut self, s: &Component<SelectorImpl>) -> bool {
|
||||
if let Component::ID(ref id) = *s {
|
||||
self.mapped_ids.insert(id);
|
||||
self.mapped_ids.insert_hash(id.get_hash());
|
||||
}
|
||||
true
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче