Bug 261315

Summary: invalidate :has() with nested positional pseudo-class selectors using new MatchElement/IsNegation values
Product: WebKit Reporter: Cameron McCormack (:heycam) <heycam>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Cameron McCormack (:heycam) 2023-09-07 21:53:52 PDT
In https://bugs.webkit.org/show_bug.cgi?id=253943 I fixed invalidation issues with :has() selectors that have nested positional pseudo-class selectors (like :nth-child() and :first-child), by using style relation bits. A better solution suggested by Antti on the PR might be to generate new MatchElement/IsNegation values to represent the fact that class name changes need to be checked in both the "before change" and "after change" cases, and to look at the siblings of the element too.
Comment 1 Radar WebKit Bug Importer 2023-09-14 21:54:38 PDT
<rdar://problem/115537332>