Branch: refs/heads/webkitglib/2.50
Home: https://github.com/WebKit/WebKit
Commit: 6a20f6ccab796d9aa022feea67e589f2db129b6e
https://github.com/WebKit/WebKit/commit/6a20f6ccab796d9aa022feea67e589f2db129b6e
Author: David Kilzer <[email protected]>
Date: 2025-11-10 (Mon, 10 Nov 2025)
Changed paths:
M Source/WebCore/svg/SVGCircleElement.h
M Source/WebCore/svg/SVGRectElement.h
Log Message:
-----------
Cherry-pick 299969@main (4397d9f07bfd).
https://bugs.webkit.org/show_bug.cgi?id=298817
Fix static_assert() in
WebCore::SVGPropertyOwnerRegistry::fastAnimatedPropertyLookup() with upstream
clang
<https://bugs.webkit.org/show_bug.cgi?id=298817>
<rdar://157029024>
Reviewed by Matthieu Dubet.
The issue is that the `propertyForAttribute()` method on `SVGRectElement`
and `SVGCircleElement` is declared `private`, but concept evaluation
occurs during template instantiation, before `friend` relationships are
considered.
No new tests since this fixes a compiler error and there is no change in
behavior.
* Source/WebCore/svg/SVGCircleElement.h:
(WebCore::SVGCircleElement::propertyForAttribute):
- Move from private to public method.
- Remove unneeded friend declaration.
* Source/WebCore/svg/SVGRectElement.h:
(WebCore::SVGRectElement::propertyForAttribute): Ditto.
Canonical link: https://commits.webkit.org/299969@main
Canonical link: https://commits.webkit.org/298234.237@webkitglib/2.50
Commit: 9ddc37ff3fa3a0ea277ced444592568f9213c4b1
https://github.com/WebKit/WebKit/commit/9ddc37ff3fa3a0ea277ced444592568f9213c4b1
Author: Antti Koivisto <[email protected]>
Date: 2025-11-10 (Mon, 10 Nov 2025)
Changed paths:
M Source/WebCore/style/ChildChangeInvalidation.cpp
M Source/WebCore/style/ClassChangeInvalidation.cpp
M Source/WebCore/style/RuleFeature.cpp
M Source/WebCore/style/RuleFeature.h
M Source/WebCore/style/StyleInvalidator.cpp
Log Message:
-----------
Cherry-pick 299162@main (197ddc80fe10).
https://bugs.webkit.org/show_bug.cgi?id=297893
Limit the scope of invalidation traversal for `:has(> .changed) .subject`
https://bugs.webkit.org/show_bug.cgi?id=297893
rdar://159173631
Reviewed by Simon Fraser.
It is sufficient to traverse the subtree of the parent to invalidate in
this case, rather than the entire DOM.
This helps with GitHub performance as it uses selectors of this type.
* Source/WebCore/style/ChildChangeInvalidation.cpp:
(WebCore::Style::ChildChangeInvalidation::invalidateForChangedElement):
* Source/WebCore/style/ClassChangeInvalidation.cpp:
(WebCore::Style::ClassChangeInvalidation::computeInvalidation):
* Source/WebCore/style/RuleFeature.cpp:
(WebCore::Style::isSiblingOrSubject):
(WebCore::Style::isScopeBreaking):
(WebCore::Style::computeHasPseudoClassMatchElement):
(WebCore::Style::computeSubSelectorMatchElement):
Add two new MatchElement types for these cases:
`:has(> .changed) .subject
`:has(> .changed) > .subject
* Source/WebCore/style/RuleFeature.h:
* Source/WebCore/style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::invalidateStyleWithMatchElement):
Traverse only the required subtrees for the new types.
Also document each invalidation traversal case.
Canonical link: https://commits.webkit.org/299162@main
Canonical link: https://commits.webkit.org/298234.238@webkitglib/2.50
Compare: https://github.com/WebKit/WebKit/compare/6d8963c9a27d...9ddc37ff3fa3
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications