mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
Introduce a small set of counters on Document that track the work done while processing :has() invalidation: how often the upward walk runs, how many elements it visits, how often matches_has_pseudo_class() is invoked, how well the per-pass result cache performs, and how many elements transition from clean to needs-style-update. Expose the counters through internals so tests can assert precise bounds on the invalidation work triggered by a mutation, which regular reference tests cannot express. Add a css-has-invalidation test suite that covers subject-position, non-subject-position, sibling-combinator, and no-:has() cases. The baseline tests share a helper script so later coverage can reuse the same counter-printing path. The counters are test-only observation; they do not affect style computation itself.
8 lines
195 B
Plaintext
8 lines
195 B
Plaintext
[after text insert (no :has() rule)]
|
|
hasAncestorWalkInvocations: 0
|
|
hasAncestorWalkVisits: 0
|
|
hasMatchInvocations: 0
|
|
hasResultCacheHits: 0
|
|
hasResultCacheMisses: 0
|
|
styleInvalidations: 2
|