Branch: refs/heads/webkitglib/2.50
Home: https://github.com/WebKit/WebKit
Commit: 9e54daec6671da707680d44dc1c1eba04c958a56
https://github.com/WebKit/WebKit/commit/9e54daec6671da707680d44dc1c1eba04c958a56
Author: Antoine Quint <[email protected]>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
A LayoutTests/webanimations/resources/reverse-animation-iframe.html
A LayoutTests/webanimations/reverse-animation-within-iframe-expected.txt
A LayoutTests/webanimations/reverse-animation-within-iframe.html
M Source/WebCore/animation/DocumentTimeline.cpp
M Source/WebCore/animation/DocumentTimeline.h
M Source/WebCore/animation/WebAnimation.cpp
M Source/WebCore/animation/WebAnimation.h
Log Message:
-----------
Cherry-pick 301414@main (841997317f49).
https://bugs.webkit.org/show_bug.cgi?id=299823
REGRESSION(294049@main): starting an animation via el.animate().reverse
only works every other time
https://bugs.webkit.org/show_bug.cgi?id=299823
rdar://162067522
Reviewed by Anne van Kesteren.
We changed the process to mark an animation as "ready" [0] in 294049@main
in such a way that we rely
on an enqueued task to process pending animations as a group. The content
filed for this bug had a
reversed animation started within an iframe, which may have different
timing characteristics than
a more traditional setup since throttling may be involved. As a result, the
assumption made by the
code change in 294049@main where animation resolution would happen _after_
pending animations had been
processed and set a pending start time under
`AnimationTimelinesController::processPendingAnimations()`
would not necessarily hold true.
We make a simple change that ensures that animation resolution is
scheduled, if that is not already the
case, when we set the pending start time of an animation.
We also add a new test which replicates the reported issue where a hosting
document has a continuously-
running animation, which ensures animation resolution is scheduled on every
rendering frame, and a child
document starts a reversed animation one and again after the first
animation's completion. Since the iframe
will throttle timers, the enqueued task to process pending animations will
run only after animation resolution
has been performed as scheduled by the parent document.
[0] https://drafts.csswg.org/web-animations-1/#ready
Test: webanimations/reverse-animation-within-iframe.html
* LayoutTests/webanimations/resources/reverse-animation-iframe.html: Added.
* LayoutTests/webanimations/reverse-animation-within-iframe-expected.txt:
Added.
* LayoutTests/webanimations/reverse-animation-within-iframe.html: Added.
* Source/WebCore/animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::pendingStartTimeWasSetOnAnimation):
* Source/WebCore/animation/DocumentTimeline.h:
* Source/WebCore/animation/WebAnimation.cpp:
(WebCore::WebAnimation::setPendingStartTime):
* Source/WebCore/animation/WebAnimation.h:
(WebCore::WebAnimation::setPendingStartTime): Deleted.
Canonical link: https://commits.webkit.org/301414@main
Canonical link: https://commits.webkit.org/298234.190@webkitglib/2.50
Commit: 30171ff68bd023cc62180b4469e72df869461d2a
https://github.com/WebKit/WebKit/commit/30171ff68bd023cc62180b4469e72df869461d2a
Author: Said Abou-Hallawa <[email protected]>
Date: 2025-10-13 (Mon, 13 Oct 2025)
Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.h
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/html/HTMLAttachmentElement.h
M Source/WebCore/html/HTMLCanvasElement.cpp
M Source/WebCore/html/HTMLCanvasElement.h
M Source/WebCore/html/HTMLFrameElement.h
M Source/WebCore/html/HTMLIFrameElement.h
M Source/WebCore/html/HTMLImageElement.cpp
M Source/WebCore/html/HTMLImageElement.h
M Source/WebCore/html/HTMLInputElement.cpp
M Source/WebCore/html/HTMLInputElement.h
M Source/WebCore/html/HTMLMediaElement.h
M Source/WebCore/html/HTMLPlugInElement.cpp
M Source/WebCore/html/HTMLPlugInElement.h
M Source/WebCore/html/HTMLVideoElement.h
M Source/WebCore/rendering/RenderReplaced.cpp
M Source/WebCore/rendering/style/RenderStyleInlines.h
M Source/WebCore/svg/SVGSVGElement.cpp
M Source/WebCore/svg/SVGSVGElement.h
Log Message:
-----------
Cherry-pick 301333@main (50da6f725760).
https://bugs.webkit.org/show_bug.cgi?id=285576
REGRESSION(282648@main): A tweet with 12000+ emojis takes Safari forever to
display
https://bugs.webkit.org/show_bug.cgi?id=285576
rdar://142638658
Reviewed by Ryosuke Niwa.
Inserting a replaced Element (image, canvas, input, etc) should not affect
the
directionality of the parent since it should be treated as a neutral
character.
If the inserted elememt is an HTMLImageElement and its style has text
content,
we can still skip this element for the directionality computation since its
text
should not affect or interact with the rest of the text in the page.
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::childrenChanged):
* Source/WebCore/dom/Element.h:
(WebCore::Element::isReplaced const):
* Source/WebCore/html/HTMLAttachmentElement.h:
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::isReplaced const):
* Source/WebCore/html/HTMLCanvasElement.h:
* Source/WebCore/html/HTMLFrameElement.h:
* Source/WebCore/html/HTMLIFrameElement.h:
* Source/WebCore/html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::isReplaced const):
* Source/WebCore/html/HTMLImageElement.h:
* Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isReplaced const):
* Source/WebCore/html/HTMLInputElement.h:
* Source/WebCore/html/HTMLMediaElement.h:
* Source/WebCore/html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::isReplaced const):
* Source/WebCore/html/HTMLPlugInElement.h:
* Source/WebCore/html/HTMLVideoElement.h:
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::m_intrinsicSize):
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::shouldApplyLayoutContainment):
(WebCore::shouldApplySizeContainment):
(WebCore::shouldApplyInlineSizeContainment):
(WebCore::shouldApplyPaintContainment):
* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::isReplaced const):
* Source/WebCore/svg/SVGSVGElement.h:
Canonical link: https://commits.webkit.org/301333@main
Canonical link: https://commits.webkit.org/298234.191@webkitglib/2.50
Compare: https://github.com/WebKit/WebKit/compare/b3eda8e5fdff...30171ff68bd0
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