Module style::invalidation::element::invalidation_map
source Β· Expand description
Code for invalidations due to state or attribute changes.
Structs§
- Mapping between (partial) CompoundSelectors (and the combinator to their right) and the states and attributes they depend on.
- The same, but for document state selectors.
- A map where we store invalidations.
- PerCompound
State π - A struct that collects invalidations for a given compound selector.
- A struct that collects invalidations from a complex selector inside a relative selector. TODO(dshin): All of this duplication is not great Perhaps should be merged to the normal one, if possible? See bug 1855690.
- A map to store all relative selector invalidations. This keeps a lot more data than the usual map, because any change can generate upward traversals that need to be handled separately.
- A struct that collects invalidations for a given compound selector.
- The same, but for state selectors, which can track more exactly what state do they track.
- Dependency for tree-structural pseudo-classes.
- Tree-structural pseudoclasses that we care about for (Relative selector) invalidation. Specifically, we need to store information on ones that donβt generate the inner selector. Given the nature of these selectors:
Enums§
- Component
Visit πResult - Invalidation kind merging normal and relative dependencies.
- The kind of elements down the tree this dependency may affect.
- The kind of elements up the tree this relative selector dependency may affect. Because this travels upwards, itβs not viable for parallel subtree traversal, and is handled separately.
Traits§
- Collector π
Functions§
- add_
attr_ πdependency - add_
local_ πname - add_
non_ πunique_ info - Adds a selector to the given
InvalidationMap
. Returns Err(..) to signify OOM. - on_
attribute π - on_
id_ πor_ class - on_
pseudo_ πclass - on_
simple_ πselector - parent_
dependency π
Type Aliases§
- Dependency mapping for * selectors.
- Dependency mapping for customstates
- Dependency mapping for classes or IDs.
- Dependency mapping for local names.
- Parent
Selectors π - Dependency mapping for non-tree-strctural pseudo-class states.
- Dependency mapping for tree-structural pseudo-class states.