aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/stylesheet_set.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/style/stylesheet_set.rs')
-rw-r--r--components/style/stylesheet_set.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/components/style/stylesheet_set.rs b/components/style/stylesheet_set.rs
index 07ef6fe24b2..f38ff22d535 100644
--- a/components/style/stylesheet_set.rs
+++ b/components/style/stylesheet_set.rs
@@ -125,8 +125,8 @@ where
stylist: &Stylist,
sheet: S,
before_sheet: S,
- guard: &SharedRwLockReadGuard)
- {
+ guard: &SharedRwLockReadGuard
+ ) {
debug!("StylesheetSet::insert_stylesheet_before");
self.remove_stylesheet_if_present(&sheet);
let index = self.entries.iter().position(|entry| {
@@ -142,12 +142,20 @@ where
}
/// Remove a given stylesheet from the set.
- pub fn remove_stylesheet(&mut self, sheet: S) {
+ pub fn remove_stylesheet(
+ &mut self,
+ stylist: &Stylist,
+ sheet: S,
+ guard: &SharedRwLockReadGuard,
+ ) {
debug!("StylesheetSet::remove_stylesheet");
self.remove_stylesheet_if_present(&sheet);
self.dirty = true;
- // FIXME(emilio): We can do better!
- self.invalidations.invalidate_fully();
+ self.invalidations.collect_invalidations_for(
+ stylist,
+ &sheet,
+ guard
+ );
}
/// Notes that the author style has been disabled for this document.