mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-28 10:37:17 +02:00
Record per-feature :has() invalidation metadata instead of only tracking whether some selector somewhere mentions a class, id, attribute, tag, or pseudo-class. The new buckets preserve the relative selector and a coarse scope classification for each :has() argument, which gives the next invalidation step enough information to route mutations more precisely. Keep this commit behavior-preserving for mutation handling by only switching the lookup path over to the new metadata buckets. Expose a test-only counter for the number of candidate :has() metadata entries a mutation matched, and add coverage showing that one feature can map to one or multiple :has() buckets without forcing a document-wide yes/no answer.
23 KiB
23 KiB