style: Save some work if the origin is not dirty.
draft
style: Save some work if the origin is not dirty.
MozReview-Commit-ID: EGHztVLj9i3
--- a/servo/components/style/stylist.rs
+++ b/servo/components/style/stylist.rs
@@ -235,16 +235,20 @@ impl DocumentCascadeData {
origin: Origin,
cascade_data: &mut CascadeData,
) -> Result<(), FailedAllocationError>
where
S: StylesheetInDocument + ToMediaListKey + PartialEq + 'static,
{
debug_assert_ne!(origin, Origin::UserAgent);
+ if !flusher.origin_dirty(origin) {
+ return Ok(());
+ }
+
let validity = flusher.data_validity(origin);
match validity {
DataValidity::Valid => {},
DataValidity::CascadeInvalid => cascade_data.clear_cascade_data(),
DataValidity::FullyInvalid => cascade_data.clear(),
}