Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 85f5196bd1f7f680292ee8c4e11754d94180f169
https://github.com/WebKit/WebKit/commit/85f5196bd1f7f680292ee8c4e11754d94180f169
Author: Antti Koivisto <[email protected]>
Date: 2025-08-25 (Mon, 25 Aug 2025)
Changed paths:
M Source/WebCore/style/PseudoClassChangeInvalidation.cpp
M Source/WebCore/style/RuleFeature.cpp
M Source/WebCore/style/RuleFeature.h
Log Message:
-----------
Create separate pseudo-class invalidation RuleSets for attribute selectors
https://bugs.webkit.org/show_bug.cgi?id=297857
rdar://problem/159102650
Reviewed by Matthieu Dubet.
Optimize :has([some-attr=foo]) case.
This helps with GitHub performance as it uses many complex rules of this type.
* Source/WebCore/style/PseudoClassChangeInvalidation.cpp:
(WebCore::Style::makePseudoClassInvalidationKeys):
Look up invalidation rule sets with attribute keys.
* Source/WebCore/style/RuleFeature.cpp:
(WebCore::Style::unlikelyToHaveSelectorForAttribute):
Ignore id/class/style attributes.
(WebCore::Style::makePseudoClassInvalidationKey):
Looks for attribute selectors and make a separate key for them so attribute
selectors don't end up in
the universal invalidation bucket.
* Source/WebCore/style/RuleFeature.h:
Canonical link: https://commits.webkit.org/299121@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes