mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
style: Add a way to add self-invalidations to the initial collection.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
This commit is contained in:
parent
191c39f28c
commit
5ac0f5121e
2 changed files with 12 additions and 1 deletions
|
@ -82,6 +82,7 @@ where
|
|||
element: E,
|
||||
nth_index_cache: Option<&mut NthIndexCache>,
|
||||
quirks_mode: QuirksMode,
|
||||
_self_invalidations: &mut InvalidationVector,
|
||||
descendant_invalidations: &mut InvalidationVector,
|
||||
sibling_invalidations: &mut InvalidationVector,
|
||||
) -> bool {
|
||||
|
|
|
@ -34,6 +34,7 @@ where
|
|||
element: E,
|
||||
nth_index_cache: Option<&mut NthIndexCache>,
|
||||
quirks_mode: QuirksMode,
|
||||
self_invalidations: &mut InvalidationVector,
|
||||
descendant_invalidations: &mut InvalidationVector,
|
||||
sibling_invalidations: &mut InvalidationVector,
|
||||
) -> bool;
|
||||
|
@ -226,21 +227,30 @@ where
|
|||
pub fn invalidate(mut self) -> InvalidationResult {
|
||||
debug!("StyleTreeInvalidator::invalidate({:?})", self.element);
|
||||
|
||||
let mut self_invalidations = InvalidationVector::new();
|
||||
let mut descendant_invalidations = InvalidationVector::new();
|
||||
let mut sibling_invalidations = InvalidationVector::new();
|
||||
|
||||
let invalidated_self = self.processor.collect_invalidations(
|
||||
let mut invalidated_self = self.processor.collect_invalidations(
|
||||
self.element,
|
||||
self.nth_index_cache.as_mut().map(|c| &mut **c),
|
||||
self.quirks_mode,
|
||||
&mut self_invalidations,
|
||||
&mut descendant_invalidations,
|
||||
&mut sibling_invalidations,
|
||||
);
|
||||
|
||||
debug!("Collected invalidations (self: {}): ", invalidated_self);
|
||||
debug!(" > self: {:?}", descendant_invalidations);
|
||||
debug!(" > descendants: {:?}", descendant_invalidations);
|
||||
debug!(" > siblings: {:?}", sibling_invalidations);
|
||||
|
||||
invalidated_self |= self.process_descendant_invalidations(
|
||||
&self_invalidations,
|
||||
&mut descendant_invalidations,
|
||||
&mut sibling_invalidations,
|
||||
);
|
||||
|
||||
let invalidated_descendants = self.invalidate_descendants(&descendant_invalidations);
|
||||
let invalidated_siblings = self.invalidate_siblings(&mut sibling_invalidations);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue