Currently pseudo-class invalidation is keyed on the pseudo-class type only. If we have rule like .foo:hover { ... } we end up considering this rule every time any element's :hover state changes, whether it has class 'foo' or not. We can improve this by keying pseudo-class invalidation more narrowly on type/class or type/id pairs.
Created attachment 446053 [details] Patch
Created attachment 446071 [details] Patch
Created attachment 446134 [details] Patch
Committed r286598 (?): <https://commits.webkit.org/r286598> All reviewed patches have been landed. Closing bug and clearing flags on attachment 446134 [details].
<rdar://problem/86161876>