Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9d465450dccf6dc4e9ac1ee113d8e465f9bc3bdc
      
https://github.com/WebKit/WebKit/commit/9d465450dccf6dc4e9ac1ee113d8e465f9bc3bdc
  Author: Antoine Quint <[email protected]>
  Date:   2022-11-28 (Mon, 28 Nov 2022)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-animations/event-order.tentative-expected.txt
    M Source/WebCore/animation/CSSAnimation.cpp
    M Source/WebCore/animation/CSSAnimation.h
    M Source/WebCore/animation/CSSTransition.cpp
    M Source/WebCore/animation/CSSTransition.h
    M Source/WebCore/animation/DeclarativeAnimation.cpp
    M Source/WebCore/animation/DeclarativeAnimation.h
    M Source/WebCore/animation/WebAnimationUtilities.cpp

  Log Message:
  -----------
  [web-animations] css/css-animations/event-order.tentative.html is a unique 
failure
https://bugs.webkit.org/show_bug.cgi?id=235145
rdar://87785713

Reviewed by Simon Fraser.

We need to sort animation and transition events based on the relative scheduled 
event
time. We compute those scheduled event times when we enqueue the events and let
compareAnimationEventsByCompositeOrder() first try to sort animation and 
transition
events among their respective event class by this scheduled event time.

If the scheduled event times are a match, we try to sort the events by the 
relative
position of the owning element in the tree, the owning element always matching 
the
target at the time the event was enqueued.

Finally, we preserve the relative order of events enqueued for the same 
animation.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-animations/event-order.tentative-expected.txt:
* Source/WebCore/animation/CSSAnimation.cpp:
(WebCore::CSSAnimation::createEvent):
* Source/WebCore/animation/CSSAnimation.h:
* Source/WebCore/animation/CSSTransition.cpp:
(WebCore::CSSTransition::createEvent):
* Source/WebCore/animation/CSSTransition.h:
* Source/WebCore/animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::effectTimeAtStart const):
(WebCore::DeclarativeAnimation::effectTimeAtIteration const):
(WebCore::DeclarativeAnimation::effectTimeAtEnd const):
(WebCore::DeclarativeAnimation::invalidateDOMEvents):
(WebCore::DeclarativeAnimation::enqueueDOMEvent):
* Source/WebCore/animation/DeclarativeAnimation.h:
* Source/WebCore/animation/WebAnimationUtilities.cpp:
(WebCore::compareDeclarativeAnimationEvents):
(WebCore::compareAnimationEventsByCompositeOrder):

Canonical link: https://commits.webkit.org/257080@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to