mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Auto merge of #17837 - emilio:assert-fix, r=hiikezoe
style: Avoid looking at descendant hints to check whether the element needs a restyle. This makes us hit some assertions in Gecko. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17837) <!-- Reviewable:end -->
This commit is contained in:
commit
9f412caab2
3 changed files with 8 additions and 4 deletions
|
@ -324,7 +324,7 @@ impl ElementData {
|
||||||
}
|
}
|
||||||
|
|
||||||
debug_assert!(hint.has_recascade_self(),
|
debug_assert!(hint.has_recascade_self(),
|
||||||
"We definitely need to do something!");
|
"We definitely need to do something: {:?}!", hint);
|
||||||
return RestyleKind::CascadeOnly;
|
return RestyleKind::CascadeOnly;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -492,7 +492,7 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone +
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
data.has_styles() && !data.restyle.hint.has_non_animation_hint()
|
data.has_styles() && !data.restyle.hint.has_non_animation_invalidations()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Flags an element and its ancestors with a given `DescendantsBit`.
|
/// Flags an element and its ancestors with a given `DescendantsBit`.
|
||||||
|
|
|
@ -65,8 +65,12 @@ impl RestyleHint {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns whether we need to restyle this element.
|
/// Returns whether we need to restyle this element.
|
||||||
pub fn has_self_invalidations(&self) -> bool {
|
pub fn has_non_animation_invalidations(&self) -> bool {
|
||||||
self.intersects(RESTYLE_SELF | RECASCADE_SELF | Self::replacements())
|
self.intersects(
|
||||||
|
RESTYLE_SELF |
|
||||||
|
RECASCADE_SELF |
|
||||||
|
(Self::replacements() & !Self::for_animations())
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Propagates this restyle hint to a child element.
|
/// Propagates this restyle hint to a child element.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue