Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d38bdc09bdb73499dc486d1948ac50725f2fd9f4
https://github.com/WebKit/WebKit/commit/d38bdc09bdb73499dc486d1948ac50725f2fd9f4
Author: Ahmad Saleem <[email protected]>
Date: 2026-04-30 (Thu, 30 Apr 2026)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/svg/animations/repeat-iteration-event-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/svg/animations/repeat-iteration-event-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/svg/animations/repeat-iteration-event-004-expected.txt
M Source/WebCore/svg/animation/SVGSMILElement.cpp
M Source/WebCore/svg/animation/SVGSMILElement.h
Log Message:
-----------
Fix SMIL repeat(n) event conditions not triggering
https://bugs.webkit.org/show_bug.cgi?id=310995
rdar://173599629
Reviewed by Brent Fulgham.
This patch aligns WebKit with Gecko / Firefox and Blink / Chromium.
parseCondition() registered listeners for "repeat" but the dispatched
event type is "repeatEvent", so repeat(n) conditions never matched.
Fix by using eventNames().repeatEventEvent and adding iteration
filtering per the SMIL specification [1]: "the eventbase value will
only be resolved when a repeat is observed that has an Iteration
value that matches the specified iteration."
[1] https://www.w3.org/TR/SMIL/smil-timing.html#q28
* LayoutTests/TestExpectations: Unskip Tests
*
LayoutTests/imported/w3c/web-platform-tests/svg/animations/repeat-iteration-event-002-expected.txt:
Progression
*
LayoutTests/imported/w3c/web-platform-tests/svg/animations/repeat-iteration-event-003-expected.txt:
Ditto
*
LayoutTests/imported/w3c/web-platform-tests/svg/animations/repeat-iteration-event-004-expected.txt:
Ditto
* Source/WebCore/svg/animation/SVGSMILElement.cpp:
(WebCore::ConditionEventListener::handleEvent):
(WebCore::SVGSMILElement::reset):
(WebCore::SVGSMILElement::parseCondition):
(WebCore::SVGSMILElement::progress):
(WebCore::SVGSMILElement::dispatchPendingEvent):
* Source/WebCore/svg/animation/SVGSMILElement.h:
(WebCore::SVGSMILElement::lastDispatchedRepeatIteration const):
(isType):
Canonical link: https://commits.webkit.org/312346@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications