[webkit-changes] [WebKit/WebKit] 9d4654: [web-animations] css/css-animations/event-order.te...

Antoine Quint noreply at github.com
Mon Nov 28 11:18:55 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9d465450dccf6dc4e9ac1ee113d8e465f9bc3bdc
      https://github.com/WebKit/WebKit/commit/9d465450dccf6dc4e9ac1ee113d8e465f9bc3bdc
  Author: Antoine Quint <graouts at apple.com>
  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




More information about the webkit-changes mailing list