-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[view-transitions] Allow animations to run more than once
https://bugs.webkit.org/show_bug.cgi?id=269460 rdar://123005914 Reviewed by Antoine Quint. We need to cancel animations when the view transition ends, so they can be re-ran when the view transition is restarted. Also add (incomplete) code to sort web animations for view transition pseudo-elements in tree order to avoid assertions. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/pseudo-element-animations-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/pseudo-element-animations.html: Added. * Source/WebCore/animation/WebAnimationUtilities.cpp: (WebCore::compareStyleOriginatedAnimationOwningElementPositionsInDocumentTreeOrder): * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::clearViewTransition): Canonical link: https://commits.webkit.org/274734@main
- Loading branch information
Showing
4 changed files
with
63 additions
and
1 deletion.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
...ed/w3c/web-platform-tests/css/css-view-transitions/pseudo-element-animations-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
|
||
PASS CSS Animations on view transitions are canceled and restarted when the view transition starts and ends. | ||
|
36 changes: 36 additions & 0 deletions
36
...s/imported/w3c/web-platform-tests/css/css-view-transitions/pseudo-element-animations.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<!doctype html> | ||
<meta charset=utf-8> | ||
<title>CSS Animations on view transition pseudos run more than once</title> | ||
<link rel="help" href="https://drafts.csswg.org/css-animations-1/"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="../css-animations/support/testcommon.js"></script> | ||
<style> | ||
:root::view-transition, | ||
:root::view-transition-group(root), | ||
:root::view-transition-image-pair(root), | ||
:root::view-transition-old(root), | ||
:root::view-transition-new(root) { | ||
animation: view-transition-animation 1ms; | ||
} | ||
@keyframes view-transition-animation { | ||
to { opacity: 0 } | ||
} | ||
</style> | ||
<div id="log"></div> | ||
<script> | ||
"use strict"; | ||
promise_test(async t => { | ||
let viewTransition = document.startViewTransition(() => {}); | ||
await viewTransition.ready; | ||
assert_equals(document.documentElement.getAnimations({ subtree: true }).length, 5, "Starting a view transition should start related animations."); | ||
|
||
await viewTransition.finished; | ||
assert_equals(document.documentElement.getAnimations({ subtree: true }).length, 0, "Stopping a view transition should stop related animations."); | ||
|
||
await waitForNextFrame(); | ||
viewTransition = document.startViewTransition(() => {}); | ||
await viewTransition.ready; | ||
assert_equals(document.documentElement.getAnimations({ subtree: true }).length, 5, "Re-starting a view-transition should restart related animations."); | ||
}, "CSS Animations on view transitions are canceled and restarted when the view transition starts and ends."); | ||
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters