aboutsummaryrefslogtreecommitdiffstats
path: root/components/selectors/builder.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-10-27 13:10:57 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-10-28 23:45:13 +0100
commite7261d51e99a18214a1de022a34db61b21b3adb7 (patch)
tree67de3abff5673f9433530ef124756fb0902388f2 /components/selectors/builder.rs
parent0c057d9299e3fbec2677c25b9a76ba61d9dbdad2 (diff)
downloadservo-e7261d51e99a18214a1de022a34db61b21b3adb7.tar.gz
servo-e7261d51e99a18214a1de022a34db61b21b3adb7.zip
style: Back out diagnostics for not being helpful enough at diagnosing.
The selectors that crash seem just corrupted data structures, none of the selectors from crash dumps make sense, and the ones for which I could trace the source found no issue.
Diffstat (limited to 'components/selectors/builder.rs')
-rw-r--r--components/selectors/builder.rs25
1 files changed, 9 insertions, 16 deletions
diff --git a/components/selectors/builder.rs b/components/selectors/builder.rs
index 584a210152f..33c0ec1b694 100644
--- a/components/selectors/builder.rs
+++ b/components/selectors/builder.rs
@@ -105,7 +105,7 @@ impl<Impl: SelectorImpl> SelectorBuilder<Impl> {
parsed_slotted: bool,
) -> ThinArc<SpecificityAndFlags, Component<Impl>> {
// Compute the specificity and flags.
- let mut spec = SpecificityAndFlags(specificity(&*self, self.simple_selectors.iter()));
+ let mut spec = SpecificityAndFlags(specificity(self.simple_selectors.iter()));
if parsed_pseudo {
spec.0 |= HAS_PSEUDO_BIT;
}
@@ -281,33 +281,26 @@ impl From<Specificity> for u32 {
}
}
-fn specificity<Impl>(builder: &SelectorBuilder<Impl>, iter: slice::Iter<Component<Impl>>) -> u32
+fn specificity<Impl>(iter: slice::Iter<Component<Impl>>) -> u32
where
Impl: SelectorImpl,
{
- complex_selector_specificity(builder, iter).into()
+ complex_selector_specificity(iter).into()
}
-fn complex_selector_specificity<Impl>(
- builder: &SelectorBuilder<Impl>,
- mut iter: slice::Iter<Component<Impl>>,
-) -> Specificity
+fn complex_selector_specificity<Impl>(iter: slice::Iter<Component<Impl>>) -> Specificity
where
Impl: SelectorImpl,
{
fn simple_selector_specificity<Impl>(
- builder: &SelectorBuilder<Impl>,
simple_selector: &Component<Impl>,
specificity: &mut Specificity,
) where
Impl: SelectorImpl,
{
match *simple_selector {
- Component::Combinator(ref combinator) => {
- unreachable!(
- "Found combinator {:?} in simple selectors vector? {:?}",
- combinator, builder,
- );
+ Component::Combinator(..) => {
+ unreachable!("Found combinator in simple selectors vector?");
},
Component::PseudoElement(..) | Component::LocalName(..) => {
specificity.element_selectors += 1
@@ -361,15 +354,15 @@ where
},
Component::Negation(ref negated) => {
for ss in negated.iter() {
- simple_selector_specificity(builder, &ss, specificity);
+ simple_selector_specificity(&ss, specificity);
}
},
}
}
let mut specificity = Default::default();
- for simple_selector in &mut iter {
- simple_selector_specificity(builder, &simple_selector, &mut specificity);
+ for simple_selector in iter {
+ simple_selector_specificity(&simple_selector, &mut specificity);
}
specificity
}