ladybird/Tests/LibWeb/Text/input/css-has-invalidation
Andreas Kling 44a6da5165 LibWeb: Avoid cold rule cache builds for :has() checks
Cache lightweight selector insights on each stylesheet so cold style
scopes can answer whether :has() invalidation is relevant without
building a complete rule cache. This avoids forcing rule caches for
shadow roots whose active sheets do not contain :has() selectors.

Imported sheets contribute to their parent sheet's effective rules, so
an imported sheet load or CSSOM change also clears ancestor selector
insight caches.

Add test-only counters and regression coverage for cold shadow roots
with and without :has() selectors, plus delayed imported :has() rules.
2026-05-23 22:03:46 +02:00
..
_helpers.js
baseline-cache-hits.html
baseline-no-has.html
baseline-non-subject-has.html
baseline-sibling-has.html
baseline-subject-has.html
cold-shadow-root-sheet-insights.html LibWeb: Avoid cold rule cache builds for :has() checks 2026-05-23 22:03:46 +02:00
deep-dom-with-anchor-halfway.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
fast-path-unrelated-mutation.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
has-child-combinator.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
has-complex-sibling-subtree-scan-insights.html LibWeb: Delay generic :has() sibling scans until sibling roots 2026-04-20 13:20:41 +02:00
has-control-no-has-with-text-insert.html
has-feature-metadata-buckets.html LibWeb: Bucket :has() invalidation metadata by feature 2026-04-20 13:20:41 +02:00
has-featureless-and-concrete-child-list-coalescing.html LibWeb: Coalesce safe :has() child-list invalidations 2026-04-30 14:31:28 +02:00
has-order-insensitive-plan-merge.html LibWeb: Ignore invalidation rule order when merging plans 2026-04-20 13:20:41 +02:00
has-sibling-scan-insights.html LibWeb: Skip useless sibling scans in generic :has() walks 2026-04-20 13:20:41 +02:00
has-subsequent-sibling.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
has-with-attribute.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
has-with-is.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
has-with-not.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
insertion-triggers-has.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
multiple-has-rules.html LibWeb: Stop :has() invalidation walk when out of :has() scope 2026-04-20 13:20:41 +02:00
unstyled-shadow-root-mutation.html LibWeb: Skip :has() invalidation for unstyled shadow roots 2026-05-23 22:03:46 +02:00