diff --git a/components/layout/construct.rs b/components/layout/construct.rs index f369d41daaf..656b4f8ae47 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -1473,15 +1473,7 @@ impl<'a, ConcreteThreadSafeLayoutNode> PostorderNodeMutTraversal { // Pseudo-element. let style = node.style(self.style_context()); - let display = match node.get_pseudo_element_type() { - PseudoElementType::Normal => Display::Inline, - PseudoElementType::Before(maybe_display) | - PseudoElementType::After(maybe_display) | - PseudoElementType::DetailsContent(maybe_display) | - PseudoElementType::DetailsSummary(maybe_display) - => maybe_display.unwrap_or(style.get_box().display), - }; - (display, style.get_box().float, style.get_box().position) + (style.get_box().display, style.get_box().float, style.get_box().position) } Some(LayoutNodeType::Element(_)) => { let style = node.style(self.style_context()); diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs index 8a8a2b57131..dd4b47c33e3 100644 --- a/components/layout_thread/dom_wrapper.rs +++ b/components/layout_thread/dom_wrapper.rs @@ -63,7 +63,6 @@ use std::sync::atomic::Ordering; use style::CaseSensitivityExt; use style::applicable_declarations::ApplicableDeclarationBlock; use style::attr::AttrValue; -use style::computed_values::display; use style::context::SharedStyleContext; use style::data::ElementData; use style::dom::{DomChildren, LayoutIterator, NodeInfo, OpaqueNode}; @@ -804,7 +803,7 @@ pub struct ServoThreadSafeLayoutNode<'ln> { /// The pseudo-element type, with (optionally) /// a specified display value to override the stylesheet. - pseudo: PseudoElementType>, + pseudo: PseudoElementType<()>, } impl<'a> PartialEq for ServoThreadSafeLayoutNode<'a> { @@ -1083,7 +1082,7 @@ pub struct ServoThreadSafeLayoutElement<'le> { /// The pseudo-element type, with (optionally) /// a specified display value to override the stylesheet. - pseudo: PseudoElementType>, + pseudo: PseudoElementType<()>, } impl<'le> ThreadSafeLayoutElement for ServoThreadSafeLayoutElement<'le> { @@ -1096,15 +1095,14 @@ impl<'le> ThreadSafeLayoutElement for ServoThreadSafeLayoutElement<'le> { } } - fn get_pseudo_element_type(&self) -> PseudoElementType> { + fn get_pseudo_element_type(&self) -> PseudoElementType<()> { self.pseudo } - fn with_pseudo(&self, - pseudo: PseudoElementType>) -> Self { + fn with_pseudo(&self, pseudo: PseudoElementType<()>) -> Self { ServoThreadSafeLayoutElement { element: self.element.clone(), - pseudo: pseudo, + pseudo, } } diff --git a/components/script_layout_interface/wrapper_traits.rs b/components/script_layout_interface/wrapper_traits.rs index 7f92653b52c..c08e79b29a3 100644 --- a/components/script_layout_interface/wrapper_traits.rs +++ b/components/script_layout_interface/wrapper_traits.rs @@ -17,7 +17,6 @@ use servo_arc::Arc; use servo_url::ServoUrl; use std::fmt::Debug; use style::attr::AttrValue; -use style::computed_values::display::T as Display; use style::context::SharedStyleContext; use style::data::ElementData; use style::dom::{LayoutIterator, NodeInfo, TNode}; @@ -197,7 +196,7 @@ pub trait ThreadSafeLayoutNode: Clone + Copy + Debug + GetLayoutData + NodeInfo fn as_element(&self) -> Option; #[inline] - fn get_pseudo_element_type(&self) -> PseudoElementType> { + fn get_pseudo_element_type(&self) -> PseudoElementType<()> { self.as_element().map_or(PseudoElementType::Normal, |el| el.get_pseudo_element_type()) } @@ -302,7 +301,7 @@ pub trait ThreadSafeLayoutElement /// Creates a new `ThreadSafeLayoutElement` for the same `LayoutElement` /// with a different pseudo-element type. - fn with_pseudo(&self, pseudo: PseudoElementType>) -> Self; + fn with_pseudo(&self, pseudo: PseudoElementType<()>) -> Self; /// Returns the type ID of this node. /// Returns `None` if this is a pseudo-element; otherwise, returns `Some`. @@ -325,12 +324,12 @@ pub trait ThreadSafeLayoutElement fn style_data(&self) -> AtomicRef; #[inline] - fn get_pseudo_element_type(&self) -> PseudoElementType>; + fn get_pseudo_element_type(&self) -> PseudoElementType<()>; #[inline] fn get_before_pseudo(&self) -> Option { if self.style_data().styles.pseudos.get(&PseudoElement::Before).is_some() { - Some(self.with_pseudo(PseudoElementType::Before(None))) + Some(self.with_pseudo(PseudoElementType::Before(()))) } else { None } @@ -339,7 +338,7 @@ pub trait ThreadSafeLayoutElement #[inline] fn get_after_pseudo(&self) -> Option { if self.style_data().styles.pseudos.get(&PseudoElement::After).is_some() { - Some(self.with_pseudo(PseudoElementType::After(None))) + Some(self.with_pseudo(PseudoElementType::After(()))) } else { None } @@ -349,7 +348,7 @@ pub trait ThreadSafeLayoutElement fn get_details_summary_pseudo(&self) -> Option { if self.get_local_name() == &local_name!("details") && self.get_namespace() == &ns!(html) { - Some(self.with_pseudo(PseudoElementType::DetailsSummary(None))) + Some(self.with_pseudo(PseudoElementType::DetailsSummary(()))) } else { None } @@ -360,7 +359,7 @@ pub trait ThreadSafeLayoutElement if self.get_local_name() == &local_name!("details") && self.get_namespace() == &ns!(html) && self.get_attr(&ns!(), &local_name!("open")).is_some() { - Some(self.with_pseudo(PseudoElementType::DetailsContent(None))) + Some(self.with_pseudo(PseudoElementType::DetailsContent(()))) } else { None }