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

Reply via email to