From 75e4c16bc7e1f50a19f52b095d3327462d9c1459 Mon Sep 17 00:00:00 2001 From: Bobby Holley Date: Sun, 11 Dec 2016 15:42:48 -1000 Subject: [PATCH] Bug 1322945 - Remove the requirement that the parent styles must be current to style a subtree. r=heycam Sometimes Gecko eagerly styles things without processing pending restyles first. In general we'd like to avoid this, but there can be good reasons (for example, needing to construct a frame for some small piece of newly-added content in order to do something specific with that frame, but not wanting to flush all of layout). Just handle it. MozReview-Commit-ID: EjXs0M4855Q --- components/style/dom.rs | 4 ++-- components/style/matching.rs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/components/style/dom.rs b/components/style/dom.rs index 8431f5526c3..f32f5e8361e 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -163,10 +163,10 @@ pub trait TElement : PartialEq + Debug + Sized + Copy + Clone + ElementExt + Pre /// traversal. Returns the number of children left to process. fn did_process_child(&self) -> isize; - /// Returns true if this element's style is display:none. + /// Returns true if this element's style is display:none. Panics if + /// the element has no style. fn is_display_none(&self) -> bool { let data = self.borrow_data().unwrap(); - debug_assert!(data.has_current_styles()); data.styles().is_display_none() } diff --git a/components/style/matching.rs b/components/style/matching.rs index 26b563291ba..807deeac209 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -733,7 +733,6 @@ pub trait MatchMethods : TElement { // Get our parent's style. let parent_data = parent.as_ref().map(|x| x.borrow_data().unwrap()); let parent_style = parent_data.as_ref().map(|d| { - debug_assert!(d.has_current_styles()); &d.styles().primary.values });