[scroll-animations] Support animation-duration:auto
This CL supports using 'auto' (explicitly) as an animation duration.
Whether or not 'auto' should become the new initial value of
animation-duration will be handled separately.
Fixed: 1382873
Change-Id: I50a669fdf53323f32299948081d316997c7820c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4079648
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1081438}
diff --git a/scroll-animations/css/animation-duration-auto.tentative.html b/scroll-animations/css/animation-duration-auto.tentative.html
new file mode 100644
index 0000000..f44a682
--- /dev/null
+++ b/scroll-animations/css/animation-duration-auto.tentative.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<title>animation-duration: auto</title>
+<link rel="help" src="https://github.com/w3c/csswg-drafts/issues/6530">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/web-animations/testcommon.js"></script>
+<script src="./support/testcommon.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+<style>
+ #scroller {
+ overflow: hidden;
+ width: 100px;
+ height: 100px;
+ }
+ #scroller > div {
+ height: 200px;
+ width: 200px;
+ }
+
+ @keyframes anim {
+ from { z-index: 0; }
+ to { z-index: 100; }
+ }
+
+ #scroller {
+ scroll-timeline: timeline;
+ }
+
+ #element {
+ z-index: -1;
+ animation-name: anim;
+ animation-duration: auto;
+ animation-timeline: timeline;
+ }
+</style>
+<main>
+ <div id=scroller>
+ <div></div>
+ </div>
+ <div id=element></div>
+</main>
+<script>
+ promise_test(async (t) => {
+ await waitForCSSScrollTimelineStyle();
+ assert_equals(getComputedStyle(element).zIndex, '0');
+ }, 'A value of auto can be specified for animation-duration');
+</script>
+
+<div id="target"></div>
+<script>
+ test_valid_value('animation-duration', 'auto');
+ test_computed_value('animation-duration', 'auto');
+ test_valid_value('animation', 'auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim');
+ test_computed_value('animation', 'auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim');
+</script>