Expand description
The struct that takes care of encapsulating all the logic on where and how element styles need to be invalidated.
Structs§
- Descendant
Invalidation Lists - Different invalidation lists for descendants.
- Invalidation
- An
Invalidation
is a complex selector that describes which elements, relative to a current element we are processing, must be restyled. - Invalidation
Result - The result of a whole invalidation process for a given element.
- Process
Invalidation 🔒Result - The result of processing a single invalidation for a given element.
- Sibling
Info 🔒 - Sibling
Traversal Map - Traversal mapping for elements under consideration. It acts like a snapshot map, though this only “maps” one element at most. For general invalidations, this has no effect, especially since when DOM mutates, the mutation’s effect should not escape the subtree being mutated. This is not the case for relative selectors, unfortunately, so we may end up traversing a portion of the DOM tree that mutated. In case the mutation is removal, its sibling relation is severed by the time the invalidation happens. This structure recovers that relation. Note - it assumes that there is only one element under this effect.
- Tree
Style Invalidator - The struct that takes care of encapsulating all the logic on where and how element styles need to be invalidated.
Enums§
- Descendant
Invalidation 🔒Kind - The kind of descendant invalidation we’re processing.
- Invalidation
AddOverride - The kind of traversal an invalidation requires.
- Invalidation
Kind 🔒 - The kind of invalidation we’re processing.
Traits§
- Invalidation
Processor - A trait to abstract the collection of invalidations for a given pass.
Functions§
- note_
scope_ dependency_ force_ at_ subject - Note the child dependencies of a scope end selector This is necessary because the scope end selector is not bound to :scope
Type Aliases§
- Invalidation
Vector - A vector of invalidations, optimized for small invalidation sets.