style: Save some work if the origin is not dirty. draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Thu, 08 Feb 2018 12:29:11 +0100
changeset 752875 ecd4c82a41f3c781d9c6a892af810b809633e11f
parent 752874 cde49484057f26d5365257bd027e3606a8014e3d
child 752876 8af6199f59c786eacfe9a4231637ed3ecba2033e
push id98405
push userbmo:emilio@crisal.io
push dateFri, 09 Feb 2018 01:50:06 +0000
milestone60.0a1
style: Save some work if the origin is not dirty. MozReview-Commit-ID: EGHztVLj9i3
servo/components/style/stylist.rs
--- 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(),
         }