Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 85f5196bd1f7f680292ee8c4e11754d94180f169
      
https://github.com/WebKit/WebKit/commit/85f5196bd1f7f680292ee8c4e11754d94180f169
  Author: Antti Koivisto <an...@apple.com>
  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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to