aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/servo/selector_parser.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-10-15 00:33:43 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-10-15 02:17:03 +0200
commit7ed3995725919e02f729a6f5ae83ff7bfba0366b (patch)
tree156edcf6d692cfa40684c9376f6b512b4e83a153 /components/style/servo/selector_parser.rs
parent5327758b9bd48d3dc5c453a15092546f9e53b8b9 (diff)
downloadservo-7ed3995725919e02f729a6f5ae83ff7bfba0366b.tar.gz
servo-7ed3995725919e02f729a6f5ae83ff7bfba0366b.zip
style: Stop using PseudoElement::inherits_all.
This was done that way just because Servo didn't support the `all` property at the time. We should do it this way and optimize it if it's slow. Though I suspect that most of stuff doesn't actually need to be inherited, my patch at bug 1498943 should make it much faster than what it would otherwise be.
Diffstat (limited to 'components/style/servo/selector_parser.rs')
-rw-r--r--components/style/servo/selector_parser.rs38
1 files changed, 3 insertions, 35 deletions
diff --git a/components/style/servo/selector_parser.rs b/components/style/servo/selector_parser.rs
index 7c1e082022d..7b2c06019a4 100644
--- a/components/style/servo/selector_parser.rs
+++ b/components/style/servo/selector_parser.rs
@@ -221,41 +221,9 @@ impl PseudoElement {
}
}
- /// For most (but not all) anon-boxes, we inherit all values from the
- /// parent, this is the hook in the style system to allow this.
- ///
- /// FIXME(emilio): It's likely that this is broken in a variety of
- /// situations, and what it really wants is just inherit some reset
- /// properties... Also, I guess it just could do all: inherit on the
- /// stylesheet, though chances are that'd be kinda slow if we don't cache
- /// them...
+ /// To be removed.
pub fn inherits_all(&self) -> bool {
- match *self {
- PseudoElement::After |
- PseudoElement::Before |
- PseudoElement::Selection |
- PseudoElement::DetailsContent |
- PseudoElement::DetailsSummary |
- // Anonymous table flows shouldn't inherit their parents properties in order
- // to avoid doubling up styles such as transformations.
- PseudoElement::ServoAnonymousTableCell |
- PseudoElement::ServoAnonymousTableRow |
- PseudoElement::ServoText |
- PseudoElement::ServoInputText => false,
-
- // For tables, we do want style to inherit, because TableWrapper is
- // responsible for handling clipping and scrolling, while Table is
- // responsible for creating stacking contexts.
- //
- // StackingContextCollectionFlags makes sure this is processed
- // properly.
- PseudoElement::ServoAnonymousTable |
- PseudoElement::ServoAnonymousTableWrapper |
- PseudoElement::ServoTableWrapper |
- PseudoElement::ServoAnonymousBlock |
- PseudoElement::ServoInlineBlockWrapper |
- PseudoElement::ServoInlineAbsolute => true,
- }
+ false
}
/// Covert non-canonical pseudo-element to canonical one, and keep a
@@ -585,7 +553,7 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> {
}
ServoInlineBlockWrapper
},
- "-servo-input-absolute" => {
+ "-servo-inline-absolute" => {
if !self.in_user_agent_stylesheet() {
return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone())))
}