style: layout: Allow a lazy pseudo-element implementation in Servo.

This commit is contained in:
Emilio Cobos Álvarez 2016-05-03 18:50:25 +02:00
parent 18c1fee3c7
commit 028f9b6cd2
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
6 changed files with 172 additions and 57 deletions

View file

@ -104,19 +104,11 @@ pub enum PseudoElement {
impl PseudoElement {
#[inline]
pub fn cascade_type(&self) -> PseudoElementCascadeType {
// TODO: Make PseudoElementCascadeType::Lazy work for Servo.
//
// This can't be done right now since it would require
// ServoThreadSafeLayoutElement to implement ::selectors::Element,
// and it might not be thread-safe.
//
// After that, we'd probably want ::selection and
// ::-servo-details-summary to be lazy.
match *self {
PseudoElement::Before |
PseudoElement::After |
PseudoElement::Selection |
PseudoElement::DetailsSummary => PseudoElementCascadeType::Eager,
PseudoElement::Selection => PseudoElementCascadeType::Eager,
PseudoElement::DetailsSummary => PseudoElementCascadeType::Lazy,
PseudoElement::DetailsContent => PseudoElementCascadeType::Precomputed,
}
}