Module invalidator

Source
Expand description

The struct that takes care of encapsulating all the logic on where and how element styles need to be invalidated.

Structs§

DescendantInvalidationLists
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.
InvalidationResult
The result of a whole invalidation process for a given element.
SiblingInfo 🔒
SiblingTraversalMap
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.
SingleInvalidationResult 🔒
The result of processing a single invalidation for a given element.
TreeStyleInvalidator
The struct that takes care of encapsulating all the logic on where and how element styles need to be invalidated.

Enums§

DescendantInvalidationKind 🔒
The kind of descendant invalidation we’re processing.
InvalidationKind 🔒
The kind of invalidation we’re processing.

Traits§

InvalidationProcessor
A trait to abstract the collection of invalidations for a given pass.

Type Aliases§

InvalidationVector
A vector of invalidations, optimized for small invalidation sets.