summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/scroll-animations
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/meta/scroll-animations
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/meta/scroll-animations')
-rw-r--r--testing/web-platform/meta/scroll-animations/css/__dir__.ini1
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-duration-auto.tentative.html.ini15
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-events.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-fill-outside-range-test.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-inactive-outside-range-test.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-range-ignored.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-range-normal-matches-cover.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-range-visual-test.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-shorthand.html.ini45
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-computed.html.ini30
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-deferred.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-ignored.tentative.html.ini16
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-in-keyframe.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-multiple.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini21
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-parsing.html.ini45
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini42
-rw-r--r--testing/web-platform/meta/scroll-animations/css/deferred-timeline-composited.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/get-animations-inactive-timeline.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/merge-timeline-offset-keyframes.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/printing/__dir__.ini1
-rw-r--r--testing/web-platform/meta/scroll-animations/css/printing/animation-timeline-none-with-progress-print.tentative.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-iframe-print.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-print.tentative.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini34
-rw-r--r--testing/web-platform/meta/scroll-animations/css/pseudo-on-scroller.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-writing-mode.html.ini8
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-document-scroller-quirks.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-dynamic.tentative.html.ini22
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-in-container-query.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-inactive.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-multi-pass.tentative.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-shadow.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-dirty.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-with-absolute-positioned-element.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-paused-animations.html.ini8
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-range-animation.html.ini25
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-responsiveness-from-endpoint.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-root-dirty.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-sampling.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.html.ini51
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-update-reversed-animation.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-with-percent-delay.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html.ini8
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-range-name-offset-in-keyframes.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-scope-computed.tentative.html.ini33
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-scope-parsing.tentative.html.ini33
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-scope.html.ini24
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-animation-range-update.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-animation.html.ini15
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-axis-computed.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-axis-parsing.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-dynamic.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini45
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-keyframe-boundary-interpolation.html.ini8
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-lookup.html.ini14
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-name-parsing.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-name-shadow.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-range-animation.html.ini49
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-range-update-reversed-animation.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-range-update.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.html.ini147
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-subject-bounds-update.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-used-values.html.ini8
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-with-delay-and-range.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-with-transform-on-subject.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/__dir__.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-animatable-interface.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-display-none.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-root-scroller.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-transform.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/cancel-animation.html.ini31
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/constructor-no-document.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/constructor.html.ini30
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-nan.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-root-scroller.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-writing-modes.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/custom-property.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/effect-updateTiming.html.ini198
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/finish-animation.html.ini63
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/idlharness.window.js.ini63
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html.ini18
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/pause-animation.html.ini21
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/play-animation.html.ini48
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/reverse-animation.html.ini33
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html.ini78
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html.ini90
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html.ini13
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-range.html.ini24
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html.ini4
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/set-current-time-before-play.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/setting-current-time.html.ini33
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/setting-playback-rate.html.ini42
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/setting-start-time.html.ini42
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/setting-timeline.tentative.html.ini48
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/source-quirks-mode.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/update-playback-rate.html.ini28
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/updating-the-finished-state.html.ini75
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/__dir__.ini1
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/animation-events.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/change-animation-range-updates-play-state.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/contain-alignment.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/fieldset-source.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html.ini15
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/inline-subject.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/range-boundary.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-1.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-2.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-3.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-4.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-5.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-6.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-7.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-001.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-002.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-003.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/timeline-offset-in-keyframe.html.ini15
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/unattached-subject-inset.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-current-time-range-name.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-set-range.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-inset.html.ini23
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-missing-subject.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-on-display-none-element.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range-large-subject.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range.html.ini27
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-root-source.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-snapport.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-source.tentative.html.ini11
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-block.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-inline.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-subject-size-changes.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html.ini3
149 files changed, 2232 insertions, 0 deletions
diff --git a/testing/web-platform/meta/scroll-animations/css/__dir__.ini b/testing/web-platform/meta/scroll-animations/css/__dir__.ini
new file mode 100644
index 0000000000..27673b4d05
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/__dir__.ini
@@ -0,0 +1 @@
+prefs: [layout.css.scroll-driven-animations.enabled:true, layout.css.individual-transform.enabled:true]
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-duration-auto.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-duration-auto.tentative.html.ini
new file mode 100644
index 0000000000..912f0a0736
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-duration-auto.tentative.html.ini
@@ -0,0 +1,15 @@
+[animation-duration-auto.tentative.html]
+ [A value of auto can be specified for animation-duration]
+ expected: FAIL
+
+ [e.style['animation-duration'\] = "auto" should set the property value]
+ expected: FAIL
+
+ [Property animation-duration value 'auto']
+ expected: FAIL
+
+ [e.style['animation'\] = "auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim" should set the property value]
+ expected: FAIL
+
+ [Property animation value 'auto cubic-bezier(0, -2, 1, 3) -3s 4 reverse both paused anim']
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-events.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-events.html.ini
new file mode 100644
index 0000000000..610920bfcc
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-events.html.ini
@@ -0,0 +1,3 @@
+[animation-events.html]
+ [View timelime generates animationstart and animationend events]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-fill-outside-range-test.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-fill-outside-range-test.html.ini
new file mode 100644
index 0000000000..647355dc86
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-fill-outside-range-test.html.ini
@@ -0,0 +1,2 @@
+[animation-fill-outside-range-test.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-inactive-outside-range-test.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-inactive-outside-range-test.html.ini
new file mode 100644
index 0000000000..1ba0759c0c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-inactive-outside-range-test.html.ini
@@ -0,0 +1,3 @@
+[animation-inactive-outside-range-test.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, FAIL]
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-range-ignored.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-range-ignored.html.ini
new file mode 100644
index 0000000000..1f7b65650e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-range-ignored.html.ini
@@ -0,0 +1,6 @@
+[animation-range-ignored.html]
+ [Animation API call rangeStart overrides animation-range-start]
+ expected: FAIL
+
+ [Animation API call rangeEnd overrides animation-range-end]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-range-normal-matches-cover.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-range-normal-matches-cover.html.ini
new file mode 100644
index 0000000000..b667ae8e74
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-range-normal-matches-cover.html.ini
@@ -0,0 +1,3 @@
+[animation-range-normal-matches-cover.html]
+ [Changing the animation range updates the play state]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-range-visual-test.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-range-visual-test.html.ini
new file mode 100644
index 0000000000..d82f40b35b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-range-visual-test.html.ini
@@ -0,0 +1,2 @@
+[animation-range-visual-test.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-shorthand.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-shorthand.html.ini
new file mode 100644
index 0000000000..85591dd0a2
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-shorthand.html.ini
@@ -0,0 +1,45 @@
+[animation-shorthand.html]
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim scroll()" should not set the property value]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824261
+ expected: FAIL
+
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim view()" should not set the property value]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824261
+ expected: FAIL
+
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim timeline" should not set the property value]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824261
+ expected: FAIL
+
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim1,\\n 1s linear 1s 2 reverse forwards paused anim2,\\n 1s linear 1s 2 reverse forwards paused anim3" should set animation-range-end]
+ expected: FAIL
+
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim1,\\n 1s linear 1s 2 reverse forwards paused anim2,\\n 1s linear 1s 2 reverse forwards paused anim3" should set animation-range-start]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial timelines (specified)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial timelines (computed)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial animation-delay-end (specified)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial animation-delay-end (computed)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial animation-range-start (specified)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial animation-range-start (computed)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial animation-range-end (specified)]
+ expected: FAIL
+
+ [Animation shorthand can not represent non-initial animation-range-end (computed)]
+ expected: FAIL
+
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim1,\\n 1s linear 1s 2 reverse forwards paused anim2,\\n 1s linear 1s 2 reverse forwards paused anim3" should set animation-timeline]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-computed.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-computed.html.ini
new file mode 100644
index 0000000000..01685f749c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-computed.html.ini
@@ -0,0 +1,30 @@
+[animation-timeline-computed.html]
+ [Property animation-timeline value 'scroll(x)']
+ expected: FAIL
+
+ [Property animation-timeline value 'scroll(y)']
+ expected: FAIL
+
+ [Property animation-timeline value 'scroll(y root)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(x)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(y)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(y 1px)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(y 1px auto)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(1px y)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(y auto)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(y auto auto)']
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-deferred.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-deferred.html.ini
new file mode 100644
index 0000000000..f4c53570c9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-deferred.html.ini
@@ -0,0 +1,9 @@
+[animation-timeline-deferred.html]
+ [Animation.timeline returns attached timeline]
+ expected: FAIL
+
+ [Animation.timeline returns null for inactive deferred timeline]
+ expected: FAIL
+
+ [Animation.timeline returns null for inactive (overattached) deferred timeline]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-ignored.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-ignored.tentative.html.ini
new file mode 100644
index 0000000000..95efea2688
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-ignored.tentative.html.ini
@@ -0,0 +1,16 @@
+[animation-timeline-ignored.tentative.html]
+ [animation-timeline ignored after setting timeline with JS (ScrollTimeline from JS)]
+ expected: FAIL
+
+ [animation-timeline ignored after setting timeline with JS (ScrollTimeline from CSS)]
+ expected: FAIL
+
+ [animation-timeline ignored after setting timeline with JS (document timeline)]
+ expected: FAIL
+
+ [animation-timeline ignored after setting timeline with JS (null)]
+ expected: FAIL
+
+ [Changing animation-timeline changes the timeline (sanity check)]
+ expected:
+ if os == "android": FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-in-keyframe.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-in-keyframe.html.ini
new file mode 100644
index 0000000000..834f5b8fb5
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-in-keyframe.html.ini
@@ -0,0 +1,3 @@
+[animation-timeline-in-keyframe.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-multiple.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-multiple.html.ini
new file mode 100644
index 0000000000..88f0bc5b45
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-multiple.html.ini
@@ -0,0 +1,6 @@
+[animation-timeline-multiple.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [animation-timeline works with multiple timelines]
+ expected:
+ if os == "android": FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini
new file mode 100644
index 0000000000..a58531de50
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini
@@ -0,0 +1,21 @@
+[animation-timeline-named-scroll-progress-timeline.tentative.html]
+ [Change in scroll-timeline-name to match animation timeline updates animation.]
+ expected: FAIL
+
+ [Change in scroll-timeline-name to no longer match animation timeline updates animation.]
+ expected: FAIL
+
+ [Timeline lookup updates candidate when closer match available.]
+ expected: FAIL
+
+ [Timeline lookup updates candidate when match becomes available.]
+ expected: FAIL
+
+ [scroll-timeline-name is not referenceable in animation-timeline on that element's siblings]
+ expected: FAIL
+
+ [scroll-timeline-axis is x]
+ expected: FAIL
+
+ [scroll-timeline-axis is y]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-parsing.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-parsing.html.ini
new file mode 100644
index 0000000000..deb5c13a59
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-parsing.html.ini
@@ -0,0 +1,45 @@
+[animation-timeline-parsing.html]
+ [e.style['animation-timeline'\] = "\\"test\\"" should not set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "test1" should not set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "scroll(x)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "scroll(y)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "scroll(y root)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(x)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(y)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(y 1px 2px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(y 1px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(y auto)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(y auto auto)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(y auto 1px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px 2px y)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px y)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(auto x)" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html.ini
new file mode 100644
index 0000000000..6480b488f6
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html.ini
@@ -0,0 +1,6 @@
+[animation-timeline-scroll-functional-notation.tentative.html]
+ [animation-timeline: scroll(x)]
+ expected: FAIL
+
+ [animation-timeline: scroll(y)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini
new file mode 100644
index 0000000000..052c448ee9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini
@@ -0,0 +1,42 @@
+[animation-timeline-view-functional-notation.tentative.html]
+ [animation-timeline: view()]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824875
+ expected: FAIL
+
+ [animation-timeline: view(50px)]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824875
+ expected: FAIL
+
+ [animation-timeline: view(auto 50px)]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824875
+ expected: FAIL
+
+ [animation-timeline: view(inline)]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824875
+ expected: FAIL
+
+ [animation-timeline: view(), view(inline)]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824875
+ expected: FAIL
+
+ [animation-timeline: view(inline) changes to view(inline 50px)]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1824875
+ expected: FAIL
+
+ [animation-timeline: view(x) without timeline range name]
+ expected: FAIL
+
+ [animation-timeline: view(y) without timeline range name]
+ expected: FAIL
+
+ [animation-timeline: view(x 50px) without timeline range name]
+ expected: FAIL
+
+ [animation-timeline: view(x)]
+ expected: FAIL
+
+ [animation-timeline: view(y)]
+ expected: FAIL
+
+ [animation-timeline: view(x 50px)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/deferred-timeline-composited.html.ini b/testing/web-platform/meta/scroll-animations/css/deferred-timeline-composited.html.ini
new file mode 100644
index 0000000000..95c5f50a48
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/deferred-timeline-composited.html.ini
@@ -0,0 +1,2 @@
+[deferred-timeline-composited.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/get-animations-inactive-timeline.html.ini b/testing/web-platform/meta/scroll-animations/css/get-animations-inactive-timeline.html.ini
new file mode 100644
index 0000000000..31fdc7fac2
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/get-animations-inactive-timeline.html.ini
@@ -0,0 +1,5 @@
+[get-animations-inactive-timeline.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [getAnimations includes inactive scroll-linked animations that have not been canceled]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/merge-timeline-offset-keyframes.html.ini b/testing/web-platform/meta/scroll-animations/css/merge-timeline-offset-keyframes.html.ini
new file mode 100644
index 0000000000..6d15befb4e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/merge-timeline-offset-keyframes.html.ini
@@ -0,0 +1,6 @@
+[merge-timeline-offset-keyframes.html]
+ [Keyframes with same easing and timeline offset are merged.]
+ expected: FAIL
+
+ [Keyframes with same timeline offset but different easing function are not merged.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/printing/__dir__.ini b/testing/web-platform/meta/scroll-animations/css/printing/__dir__.ini
new file mode 100644
index 0000000000..daf68383df
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/printing/__dir__.ini
@@ -0,0 +1 @@
+leak-threshold: [default:51200]
diff --git a/testing/web-platform/meta/scroll-animations/css/printing/animation-timeline-none-with-progress-print.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/printing/animation-timeline-none-with-progress-print.tentative.html.ini
new file mode 100644
index 0000000000..ecc9c4b5c0
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/printing/animation-timeline-none-with-progress-print.tentative.html.ini
@@ -0,0 +1,2 @@
+[animation-timeline-none-with-progress-print.tentative.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-iframe-print.html.ini b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-iframe-print.html.ini
new file mode 100644
index 0000000000..5545ee0b73
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-iframe-print.html.ini
@@ -0,0 +1,2 @@
+[scroll-timeline-default-iframe-print.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-print.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-print.tentative.html.ini
new file mode 100644
index 0000000000..795b22a2e5
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-print.tentative.html.ini
@@ -0,0 +1,2 @@
+[scroll-timeline-default-print.tentative.html]
+ max-asserts: 2
diff --git a/testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini
new file mode 100644
index 0000000000..dd134d907f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini
@@ -0,0 +1,34 @@
+[progress-based-animation-animation-longhand-properties.tentative.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [animation-iteration-count]
+ expected:
+ if os == "android": FAIL
+
+ [animation-direction: normal]
+ expected:
+ if os == "android": FAIL
+
+ [animation-direction: reverse]
+ expected:
+ if os == "android": FAIL
+
+ [animation-direction: alternate]
+ expected:
+ if os == "android": FAIL
+
+ [animation-direction: alternate-reverse]
+ expected:
+ if os == "android": FAIL
+
+ [animation-delay with a positive value]
+ expected:
+ if os == "android": FAIL
+
+ [animation-delay with a negative value]
+ expected:
+ if os == "android": FAIL
+
+ [animation-duration]
+ expected:
+ if os == "android": FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/pseudo-on-scroller.html.ini b/testing/web-platform/meta/scroll-animations/css/pseudo-on-scroller.html.ini
new file mode 100644
index 0000000000..edfc454aa0
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/pseudo-on-scroller.html.ini
@@ -0,0 +1,3 @@
+[pseudo-on-scroller.html]
+ [scroll nearest on pseudo-element attaches to parent scroll container]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.html.ini
new file mode 100644
index 0000000000..57f33dd1a8
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.html.ini
@@ -0,0 +1,9 @@
+[scroll-timeline-axis-computed.html]
+ [Property scroll-timeline-axis value 'y']
+ expected: FAIL
+
+ [Property scroll-timeline-axis value 'x']
+ expected: FAIL
+
+ [Property scroll-timeline-axis value 'block, y, x, inline']
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.html.ini
new file mode 100644
index 0000000000..90c73e5c74
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.html.ini
@@ -0,0 +1,9 @@
+[scroll-timeline-axis-parsing.html]
+ [e.style['scroll-timeline-axis'\] = "y" should set the property value]
+ expected: FAIL
+
+ [e.style['scroll-timeline-axis'\] = "x" should set the property value]
+ expected: FAIL
+
+ [e.style['scroll-timeline-axis'\] = "block, y, x, inline" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-writing-mode.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-writing-mode.html.ini
new file mode 100644
index 0000000000..e28848a5a4
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-writing-mode.html.ini
@@ -0,0 +1,8 @@
+[scroll-timeline-axis-writing-mode.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Vertical axis]
+ expected: FAIL
+
+ [Horizontal axis]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-document-scroller-quirks.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-document-scroller-quirks.html.ini
new file mode 100644
index 0000000000..856e1d2768
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-document-scroller-quirks.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-document-scroller-quirks.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-dynamic.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-dynamic.tentative.html.ini
new file mode 100644
index 0000000000..2a6b7a5f0e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-dynamic.tentative.html.ini
@@ -0,0 +1,22 @@
+[scroll-timeline-dynamic.tentative.html]
+ [Reverse animation direction [immediate\]]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1774060
+ expected: FAIL
+
+ [Reverse animation direction [scroll\]]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1774060
+ expected: FAIL
+
+ [Switching timelines and pausing at the same time [immediate\]]
+ bug: https://github.com/w3c/csswg-drafts/issues/5653
+ expected: FAIL
+
+ [Switching timelines and pausing at the same time [scroll\]]
+ bug: https://github.com/w3c/csswg-drafts/issues/5653
+ expected: FAIL
+
+ [Change to timeline attachment while paused [immediate\]]
+ expected: FAIL
+
+ [Change to timeline attachment while paused [scroll\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-in-container-query.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-in-container-query.html.ini
new file mode 100644
index 0000000000..b1557ec712
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-in-container-query.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-in-container-query.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Timeline appearing via container queries]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-inactive.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-inactive.html.ini
new file mode 100644
index 0000000000..fd04583b49
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-inactive.html.ini
@@ -0,0 +1,6 @@
+[scroll-timeline-inactive.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Animation does not apply when timeline is initially inactive]
+ expected: FAIL
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1817051
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-multi-pass.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-multi-pass.tentative.html.ini
new file mode 100644
index 0000000000..27d8454e66
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-multi-pass.tentative.html.ini
@@ -0,0 +1,6 @@
+[scroll-timeline-multi-pass.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Multiple style/layout passes occur when necessary]
+ expected: FAIL
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1817051
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.html.ini
new file mode 100644
index 0000000000..6998d2c231
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.html.ini
@@ -0,0 +1,6 @@
+[scroll-timeline-name-parsing.html]
+ [e.style['scroll-timeline-name'\] = "auto" should not set the property value]
+ expected: FAIL
+
+ [e.style['scroll-timeline-name'\] = "abc" should not set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-shadow.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-shadow.html.ini
new file mode 100644
index 0000000000..9d7c3381ff
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-shadow.html.ini
@@ -0,0 +1,12 @@
+[scroll-timeline-name-shadow.html]
+ [Outer animation can see scroll timeline defined by :host]
+ expected: FAIL
+
+ [Outer animation can see scroll timeline defined by ::slotted]
+ expected: FAIL
+
+ [Inner animation can see scroll timeline defined by ::part]
+ expected: FAIL
+
+ [Slotted element can see scroll timeline within the shadow]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-dirty.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-dirty.html.ini
new file mode 100644
index 0000000000..e0acbc2804
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-dirty.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-nearest-dirty.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-with-absolute-positioned-element.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-with-absolute-positioned-element.html.ini
new file mode 100644
index 0000000000..de009d795f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-nearest-with-absolute-positioned-element.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-nearest-with-absolute-positioned-element.html]
+ [Resolving scroll(nearest) for an absolutely positioned element]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-paused-animations.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-paused-animations.html.ini
new file mode 100644
index 0000000000..47a933dcf0
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-paused-animations.html.ini
@@ -0,0 +1,8 @@
+[scroll-timeline-paused-animations.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that the scroll animation is paused]
+ expected: FAIL
+
+ [Test that the scroll animation is paused by updating animation-play-state]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-range-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-range-animation.html.ini
new file mode 100644
index 0000000000..9eb51f3fde
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-range-animation.html.ini
@@ -0,0 +1,25 @@
+[scroll-timeline-range-animation.html]
+ expected: TIMEOUT
+ [Animation with ranges [initial, initial\]]
+ expected: FAIL
+
+ [Animation with ranges [0%, 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [10%, 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [0%, 50%\]]
+ expected: FAIL
+
+ [Animation with ranges [10%, 50%\]]
+ expected: FAIL
+
+ [Animation with ranges [150px, 75em\]]
+ expected: FAIL
+
+ [Animation with ranges [calc(1% + 135px), calc(70em + 50px)\]]
+ expected: FAIL
+
+ [Animation with ranges [calc(1% + 135px), calc(70em + 50px)\] (scoped)]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-responsiveness-from-endpoint.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-responsiveness-from-endpoint.html.ini
new file mode 100644
index 0000000000..419c8e0c7f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-responsiveness-from-endpoint.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-responsiveness-from-endpoint.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that the scroll animation is still responsive after moving from 100%]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-root-dirty.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-root-dirty.html.ini
new file mode 100644
index 0000000000..f664892da5
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-root-dirty.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-root-dirty.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sampling.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sampling.html.ini
new file mode 100644
index 0000000000..6f0d9c9224
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sampling.html.ini
@@ -0,0 +1,6 @@
+[scroll-timeline-sampling.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Scroll position is sampled once per frame]
+ expected: FAIL
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1817051
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.html.ini
new file mode 100644
index 0000000000..318cd81590
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.html.ini
@@ -0,0 +1,51 @@
+[scroll-timeline-shorthand.html]
+ [e.style['scroll-timeline'\] = "--abc x" should set the property value]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--a inline, --b block, --c y" should set the property value]
+ expected: FAIL
+
+ [Property scroll-timeline value 'none y']
+ expected: FAIL
+
+ [Property scroll-timeline value '--abc x']
+ expected: FAIL
+
+ [Property scroll-timeline value '--y y']
+ expected: FAIL
+
+ [Property scroll-timeline value '--a inline, --b block, --c y']
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--abc y" should set scroll-timeline-axis]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--abc y" should set scroll-timeline-name]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--abc y" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--inline x" should set scroll-timeline-axis]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--inline x" should set scroll-timeline-name]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--inline x" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--abc y, --def" should set scroll-timeline-axis]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--abc y, --def" should set scroll-timeline-name]
+ expected: FAIL
+
+ [e.style['scroll-timeline'\] = "--abc y, --def" should not set unrelated longhands]
+ expected: FAIL
+
+ [Shorthand contraction of scroll-timeline-name:--a, --b, --c:undefined;scroll-timeline-axis:inline, inline:undefined]
+ expected: FAIL
+
+ [Shorthand contraction of scroll-timeline-name:--a, --b:undefined;scroll-timeline-axis:inline, inline, inline:undefined]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-update-reversed-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-update-reversed-animation.html.ini
new file mode 100644
index 0000000000..5060142f0f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-update-reversed-animation.html.ini
@@ -0,0 +1,2 @@
+[scroll-timeline-update-reversed-animation.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-with-percent-delay.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-with-percent-delay.tentative.html.ini
new file mode 100644
index 0000000000..6f723c4d6b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-with-percent-delay.tentative.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-with-percent-delay.tentative.html]
+ [ScrollTimeline with animation delays as percentages]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html.ini
new file mode 100644
index 0000000000..3d876850e7
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html.ini
@@ -0,0 +1,3 @@
+[timeline-offset-in-keyframe-change-timeline.tentative.html]
+ [getKeyframes with timeline-offsets]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html.ini
new file mode 100644
index 0000000000..8edb8cc427
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html.ini
@@ -0,0 +1,8 @@
+[timeline-offset-keyframes-hidden-subject.html]
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [Keyframes with timeline-offsets ignored when timeline is inactive]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1823509
+ expected:
+ if (os == "mac") and not debug: [FAIL, TIMEOUT]
+ FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html.ini
new file mode 100644
index 0000000000..b3d384fb0f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html.ini
@@ -0,0 +1,3 @@
+[timeline-offset-keyframes-with-document-timeline.html]
+ [Keyframes with timeline-offsets reported but not reachable when using a document timeline]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-range-name-offset-in-keyframes.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-range-name-offset-in-keyframes.tentative.html.ini
new file mode 100644
index 0000000000..3e66247beb
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-range-name-offset-in-keyframes.tentative.html.ini
@@ -0,0 +1,3 @@
+[timeline-range-name-offset-in-keyframes.tentative.html]
+ [Timeline offset in Animation Keyframes]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-scope-computed.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-scope-computed.tentative.html.ini
new file mode 100644
index 0000000000..f446a9d836
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-scope-computed.tentative.html.ini
@@ -0,0 +1,33 @@
+[timeline-scope-computed.tentative.html]
+ [Property timeline-scope value 'initial']
+ expected: FAIL
+
+ [Property timeline-scope value 'inherit']
+ expected: FAIL
+
+ [Property timeline-scope value 'unset']
+ expected: FAIL
+
+ [Property timeline-scope value 'revert']
+ expected: FAIL
+
+ [Property timeline-scope value 'none']
+ expected: FAIL
+
+ [Property timeline-scope value 'test']
+ expected: FAIL
+
+ [Property timeline-scope value 'foo, bar']
+ expected: FAIL
+
+ [Property timeline-scope value 'bar, foo']
+ expected: FAIL
+
+ [Property timeline-scope value 'a, b, c, D, e']
+ expected: FAIL
+
+ [The timeline-scope property shows up in CSSStyleDeclaration enumeration]
+ expected: FAIL
+
+ [The timeline-scope property shows up in CSSStyleDeclaration.cssText]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-scope-parsing.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-scope-parsing.tentative.html.ini
new file mode 100644
index 0000000000..4773d62c8e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-scope-parsing.tentative.html.ini
@@ -0,0 +1,33 @@
+[timeline-scope-parsing.tentative.html]
+ [e.style['timeline-scope'\] = "initial" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "inherit" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "unset" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "revert" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "none" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "abc" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = " abc" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "aBc" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "foo, bar" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "bar, foo" should set the property value]
+ expected: FAIL
+
+ [e.style['timeline-scope'\] = "auto" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/timeline-scope.html.ini b/testing/web-platform/meta/scroll-animations/css/timeline-scope.html.ini
new file mode 100644
index 0000000000..d3ddefff08
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-scope.html.ini
@@ -0,0 +1,24 @@
+[timeline-scope.html]
+ [Descendant can attach to deferred timeline]
+ expected: FAIL
+
+ [Inner timeline does not interfere with outer timeline]
+ expected: FAIL
+
+ [Dynamically re-attaching]
+ expected: FAIL
+
+ [Dynamically detaching]
+ expected: FAIL
+
+ [Removing/inserting element with attaching timeline]
+ expected: FAIL
+
+ [Ancestor attached element becoming display:none/block]
+ expected: FAIL
+
+ [A deferred timeline appearing dynamically in the ancestor chain]
+ expected: FAIL
+
+ [Animations prefer non-deferred timelines]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-animation-range-update.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-animation-range-update.tentative.html.ini
new file mode 100644
index 0000000000..3166e8227f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-animation-range-update.tentative.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-animation-range-update.tentative.html]
+ [Ensure that animation is updated on a style change]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-animation.html.ini
new file mode 100644
index 0000000000..2f8c2bf49c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-animation.html.ini
@@ -0,0 +1,15 @@
+[view-timeline-animation.html]
+ [Default view-timeline]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ FAIL
+
+ [Horizontal view-timeline]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ FAIL
+
+ [Multiple view-timelines on the same element]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-computed.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-computed.html.ini
new file mode 100644
index 0000000000..623a9d5766
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-computed.html.ini
@@ -0,0 +1,9 @@
+[view-timeline-axis-computed.html]
+ [Property view-timeline-axis value 'y']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'x']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'block, y, x, inline']
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-parsing.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-parsing.html.ini
new file mode 100644
index 0000000000..e760fddbd3
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-parsing.html.ini
@@ -0,0 +1,9 @@
+[view-timeline-axis-parsing.html]
+ [e.style['view-timeline-axis'\] = "y" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "x" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "block, y, x, inline" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-dynamic.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-dynamic.html.ini
new file mode 100644
index 0000000000..7a4cea8289
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-dynamic.html.ini
@@ -0,0 +1,12 @@
+[view-timeline-dynamic.html]
+ [Dynamically changing view-timeline-axis]
+ expected:
+ if (os == "mac") and not debug: [FAIL, PASS]
+ FAIL
+
+ [Dynamically changing view-timeline-inset]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+
+ [Dynamically changing view-timeline attachment]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini
new file mode 100644
index 0000000000..19bdf32e65
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini
@@ -0,0 +1,45 @@
+[view-timeline-inset-animation.html]
+ [view-timeline-inset with horizontal scroller]
+ expected: FAIL
+
+ [view-timeline-inset with inline scroller]
+ expected: FAIL
+
+ [view-timeline-inset:auto, inline]
+ expected: FAIL
+
+ [view-timeline-inset:auto, inline, vertical-rl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, inline, vertical-lr]
+ expected: FAIL
+
+ [view-timeline-inset:auto, inline, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, inline, vertical-rl, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, inline, vertical-lr, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, y]
+ expected: FAIL
+
+ [view-timeline-inset:auto, y, vertical-rl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, y, vertical-rl, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, x]
+ expected: FAIL
+
+ [view-timeline-inset:auto, x, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, x, vertical-lr]
+ expected: FAIL
+
+ [view-timeline-inset:auto, x, vertical-rl]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-keyframe-boundary-interpolation.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-keyframe-boundary-interpolation.html.ini
new file mode 100644
index 0000000000..171a878ea5
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-keyframe-boundary-interpolation.html.ini
@@ -0,0 +1,8 @@
+[view-timeline-keyframe-boundary-interpolation.html]
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [ViewTimeline with timeline offset keyframes outside [0,1\]]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1823509
+ expected:
+ if (os == "mac") and not debug: [FAIL, TIMEOUT]
+ FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-lookup.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-lookup.html.ini
new file mode 100644
index 0000000000..713223ff0b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-lookup.html.ini
@@ -0,0 +1,14 @@
+[view-timeline-lookup.html]
+ [view-timeline on self]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+
+ [view-timeline on ancestor]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+
+ [timeline-scope on ancestor sibling, conflict remains unresolved]
+ expected: FAIL
+
+ [timeline-scope on ancestor sibling, closer timeline wins]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-name-parsing.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-parsing.html.ini
new file mode 100644
index 0000000000..5a55273d82
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-parsing.html.ini
@@ -0,0 +1,6 @@
+[view-timeline-name-parsing.html]
+ [e.style['view-timeline-name'\] = "auto" should not set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "abc" should not set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-name-shadow.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-shadow.html.ini
new file mode 100644
index 0000000000..145533b1a4
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-shadow.html.ini
@@ -0,0 +1,12 @@
+[view-timeline-name-shadow.html]
+ [Outer animation can see view timeline defined by :host]
+ expected: FAIL
+
+ [Outer animation can see view timeline defined by ::slotted]
+ expected: FAIL
+
+ [Inner animation can see view timeline defined by ::part]
+ expected: FAIL
+
+ [Slotted element can see view timeline within the shadow]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-range-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-range-animation.html.ini
new file mode 100644
index 0000000000..bfc50a3da0
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-range-animation.html.ini
@@ -0,0 +1,49 @@
+[view-timeline-range-animation.html]
+ expected: TIMEOUT
+ [Animation with ranges [initial, initial\]]
+ expected: FAIL
+
+ [Animation with ranges [cover 0%, cover 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [contain 0%, contain 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [exit 0%, exit 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [cover 20px, cover 100px\]]
+ expected: FAIL
+
+ [Animation with ranges [contain 20px, contain 100px\]]
+ expected: FAIL
+
+ [Animation with ranges [exit 20px, exit 80px\]]
+ expected: FAIL
+
+ [Animation with ranges [contain 20px, contain calc(100px - 10%)\]]
+ expected: FAIL
+
+ [Animation with ranges [exit 2em, exit 8em\]]
+ expected: FAIL
+
+ [Animation with ranges [entry 0%, entry 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [contain -50%, entry 200%\]]
+ expected: FAIL
+
+ [Animation with ranges [entry 0%, exit 100%\]]
+ expected: FAIL
+
+ [Animation with ranges [entry 20px, entry 100px\]]
+ expected: FAIL
+
+ [Animation with ranges [entry-crossing 20px, entry-crossing 100px\]]
+ expected: FAIL
+
+ [Animation with ranges [exit-crossing 20px, exit-crossing 80px\]]
+ expected: FAIL
+
+ [Animation with ranges [exit 2em, exit 8em\] (scoped)]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-range-update-reversed-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-range-update-reversed-animation.html.ini
new file mode 100644
index 0000000000..7fcd230300
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-range-update-reversed-animation.html.ini
@@ -0,0 +1,2 @@
+[view-timeline-range-update-reversed-animation.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-range-update.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-range-update.html.ini
new file mode 100644
index 0000000000..727dd25a0b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-range-update.html.ini
@@ -0,0 +1,2 @@
+[view-timeline-range-update.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.html.ini
new file mode 100644
index 0000000000..fb76e9b6d3
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.html.ini
@@ -0,0 +1,147 @@
+[view-timeline-shorthand.html]
+ [e.style['view-timeline'\] = "--a inline, --b block, --c y" should set the property value]
+ expected: FAIL
+
+ [Property view-timeline value '--a inline, --b block, --c y']
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y, --def" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y, --def" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y, --def" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--inline x" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--inline x" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--inline x" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd block auto" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd block auto auto" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd block 1px 2px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd inline 1px 2px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd 1px 2px inline" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd 1px 2px block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd auto auto block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd auto block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abcd block 1px 1px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "auto" should not set the property value]
+ expected: FAIL
+
+ [Property view-timeline value '--abcd block auto']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd block auto auto']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd block 1px 2px']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd inline 1px 2px']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd 1px 2px inline']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd 1px 2px block']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd auto auto block']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd auto block']
+ expected: FAIL
+
+ [Property view-timeline value '--abcd block 1px 1px']
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc y, --def" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc, --def" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--inline x" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px 2px" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px 2px" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px 2px" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px 2px" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px inline" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px inline" should set view-timeline-inset]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px inline" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "--abc 1px inline" should not set unrelated longhands]
+ expected: FAIL
+
+ [Shorthand contraction of view-timeline-name:--a, --b:undefined;view-timeline-axis:inline, block:undefined;view-timeline-inset:1px 2px, 3px 3px:undefined]
+ expected: FAIL
+
+ [Shorthand contraction of view-timeline-name:--a, --b, --c:undefined;view-timeline-axis:inline, inline:undefined;view-timeline-inset:auto, auto:undefined]
+ expected: FAIL
+
+ [Shorthand contraction of view-timeline-name:--a, --b:undefined;view-timeline-axis:inline, inline, inline:undefined;view-timeline-inset:auto, auto, auto:undefined]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-subject-bounds-update.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-subject-bounds-update.html.ini
new file mode 100644
index 0000000000..6a570239e7
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-subject-bounds-update.html.ini
@@ -0,0 +1,2 @@
+[view-timeline-subject-bounds-update.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-used-values.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-used-values.html.ini
new file mode 100644
index 0000000000..61c795aa3c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-used-values.html.ini
@@ -0,0 +1,8 @@
+[view-timeline-used-values.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Use the last value from view-timeline-axis if omitted]
+ expected: FAIL
+
+ [Use the last value from view-timeline-inset if omitted]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-with-delay-and-range.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-with-delay-and-range.tentative.html.ini
new file mode 100644
index 0000000000..b3a33c720d
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-with-delay-and-range.tentative.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-with-delay-and-range.tentative.html]
+ [ViewTimeline with animation delays and range]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-with-transform-on-subject.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-with-transform-on-subject.html.ini
new file mode 100644
index 0000000000..5b77d22345
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-with-transform-on-subject.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-with-transform-on-subject.html]
+ [ViewTimeline use untransformed box for range calculations]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/__dir__.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/__dir__.ini
new file mode 100644
index 0000000000..6a588e47a4
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/__dir__.ini
@@ -0,0 +1,2 @@
+implementation-status: backlog
+leak-threshold: [default:51200]
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-animatable-interface.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-animatable-interface.html.ini
new file mode 100644
index 0000000000..ef20f32e2b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-animatable-interface.html.ini
@@ -0,0 +1,2 @@
+[animation-with-animatable-interface.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-display-none.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-display-none.html.ini
new file mode 100644
index 0000000000..a9b9d83256
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-display-none.html.ini
@@ -0,0 +1,2 @@
+[animation-with-display-none.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html.ini
new file mode 100644
index 0000000000..0563577b85
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-overflow-hidden.html.ini
@@ -0,0 +1,2 @@
+[animation-with-overflow-hidden.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-root-scroller.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-root-scroller.html.ini
new file mode 100644
index 0000000000..661a7805fb
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-root-scroller.html.ini
@@ -0,0 +1,2 @@
+[animation-with-root-scroller.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-transform.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-transform.html.ini
new file mode 100644
index 0000000000..7ff574072b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/animation-with-transform.html.ini
@@ -0,0 +1,2 @@
+[animation-with-transform.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/cancel-animation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/cancel-animation.html.ini
new file mode 100644
index 0000000000..6d0262b0cc
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/cancel-animation.html.ini
@@ -0,0 +1,31 @@
+[cancel-animation.html]
+ [oncancel event is fired when the timeline is inactive.]
+ expected: FAIL
+
+ [A play-pending ready promise should be rejected when the animation is canceled]
+ expected: FAIL
+
+ [Canceling an animation with inactive timeline should cause its start time and hold time to be unresolved]
+ expected: FAIL
+
+ [Canceling an animation should cause its start time and hold time to be unresolved]
+ expected: FAIL
+
+ [A pause-pending ready promise should be rejected when the animation is canceled]
+ expected: FAIL
+
+ [The cancel event should NOT be fired if the animation is already idle]
+ expected: FAIL
+
+ [Canceling an animation should fire cancel event on orphaned element]
+ expected: FAIL
+
+ [The finished promise should NOT be rejected if the animation is already idle]
+ expected: FAIL
+
+ [When an animation is canceled, it should create a resolved Promise]
+ expected: FAIL
+
+ [The ready promise should be replaced when the animation is canceled]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/constructor-no-document.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/constructor-no-document.html.ini
new file mode 100644
index 0000000000..9468a0f99b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/constructor-no-document.html.ini
@@ -0,0 +1,3 @@
+[constructor-no-document.html]
+ [The source can be null if the document.scrollingElement does not exist]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/constructor.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/constructor.html.ini
new file mode 100644
index 0000000000..9e2321ba9e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/constructor.html.ini
@@ -0,0 +1,30 @@
+[constructor.html]
+ [A ScrollTimeline created with a null source should have no source]
+ expected: FAIL
+
+ [A ScrollTimeline can be created with a source]
+ expected: FAIL
+
+ [A ScrollTimeline created without a source should use the document.scrollingElement]
+ expected: FAIL
+
+ [A ScrollTimeline can be created with a non-scrolling source]
+ expected: FAIL
+
+ [Creating a ScrollTimeline with an invalid axis value should throw]
+ expected: FAIL
+
+ [A ScrollTimeline created with the default axis should default to 'block']
+ expected: FAIL
+
+ ['block' is a valid axis value]
+ expected: FAIL
+
+ ['inline' is a valid axis value]
+ expected: FAIL
+
+ ['y' is a valid axis value]
+ expected: FAIL
+
+ ['x' is a valid axis value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-nan.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-nan.html.ini
new file mode 100644
index 0000000000..c5d7d7b9bb
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-nan.html.ini
@@ -0,0 +1,12 @@
+[current-time-nan.html]
+ [currentTime should be null for a display: none source]
+ expected: FAIL
+
+ [currentTime should be null when the source is not a scroller]
+ expected: FAIL
+
+ [currentTime should be null for an unattached source]
+ expected: FAIL
+
+ [currentTime should be null for a display: inline source]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-root-scroller.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-root-scroller.html.ini
new file mode 100644
index 0000000000..4e498d17e0
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-root-scroller.html.ini
@@ -0,0 +1,3 @@
+[current-time-root-scroller.html]
+ [currentTime calculates the correct time for a document.scrollingElement source]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-writing-modes.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-writing-modes.html.ini
new file mode 100644
index 0000000000..6071c52bb8
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/current-time-writing-modes.html.ini
@@ -0,0 +1,9 @@
+[current-time-writing-modes.html]
+ [currentTime handles direction: rtl correctly]
+ expected: FAIL
+
+ [currentTime handles writing-mode: vertical-rl correctly]
+ expected: FAIL
+
+ [currentTime handles writing-mode: vertical-lr correctly]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/custom-property.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/custom-property.html.ini
new file mode 100644
index 0000000000..3af448449b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/custom-property.html.ini
@@ -0,0 +1,2 @@
+[custom-property.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/effect-updateTiming.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/effect-updateTiming.html.ini
new file mode 100644
index 0000000000..b9795f72df
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/effect-updateTiming.html.ini
@@ -0,0 +1,198 @@
+[effect-updateTiming.html]
+ [Allows setting the delay to a positive number]
+ expected: FAIL
+
+ [Allows setting the delay to a negative number]
+ expected: FAIL
+
+ [Allows setting the delay of an animation in progress: positive delay that causes the animation to be no longer in-effect]
+ expected: FAIL
+
+ [Allows setting the delay of an animation in progress: negative delay that seeks into the active interval]
+ expected: FAIL
+
+ [Allows setting the delay of an animation in progress: large negative delay that causes the animation to be finished]
+ expected: FAIL
+
+ [Throws when setting invalid delay value: NaN]
+ expected: FAIL
+
+ [Throws when setting invalid delay value: Infinity]
+ expected: FAIL
+
+ [Throws when setting invalid delay value: -Infinity]
+ expected: FAIL
+
+ [Allows setting the endDelay to a positive number]
+ expected: FAIL
+
+ [Allows setting the endDelay to a negative number]
+ expected: FAIL
+
+ [Throws when setting the endDelay to infinity]
+ expected: FAIL
+
+ [Throws when setting the endDelay to negative infinity]
+ expected: FAIL
+
+ [Allows setting the fill to 'none']
+ expected: FAIL
+
+ [Allows setting the fill to 'forwards']
+ expected: FAIL
+
+ [Allows setting the fill to 'backwards']
+ expected: FAIL
+
+ [Allows setting the fill to 'both']
+ expected: FAIL
+
+ [Allows setting the iterationStart of an animation in progress: backwards-filling]
+ expected: FAIL
+
+ [Allows setting the iterationStart of an animation in progress: active phase]
+ expected: FAIL
+
+ [Allows setting the iterationStart of an animation in progress: forwards-filling]
+ expected: FAIL
+
+ [Throws when setting invalid iterationStart value: -1]
+ expected: FAIL
+
+ [Throws when setting invalid iterationStart value: NaN]
+ expected: FAIL
+
+ [Throws when setting invalid iterationStart value: Infinity]
+ expected: FAIL
+
+ [Throws when setting invalid iterationStart value: -Infinity]
+ expected: FAIL
+
+ [Allows setting iterations to a double value]
+ expected: FAIL
+
+ [Throws when setting iterations to Infinity]
+ expected: FAIL
+
+ [Allows setting the iterations of an animation in progress]
+ expected: FAIL
+
+ [Allows setting the iterations of an animation in progress with duration "auto"]
+ expected: FAIL
+
+ [Allows setting the duration to 123.45]
+ expected: FAIL
+
+ [Allows setting the duration to auto]
+ expected: FAIL
+
+ [Throws when setting invalid duration: -1]
+ expected: FAIL
+
+ [Throws when setting invalid duration: NaN]
+ expected: FAIL
+
+ [Throws when setting invalid duration: Infinity]
+ expected: FAIL
+
+ [Throws when setting invalid duration: -Infinity]
+ expected: FAIL
+
+ [Throws when setting invalid duration: "abc"]
+ expected: FAIL
+
+ [Throws when setting invalid duration: "100"]
+ expected: FAIL
+
+ [Allows setting the duration of an animation in progress]
+ expected: FAIL
+
+ [Allows setting the duration of an animation in progress such that the the start and current time do not change]
+ expected: FAIL
+
+ [Allows setting the direction to each of the possible keywords]
+ expected: FAIL
+
+ [Allows setting the direction of an animation in progress from 'normal' to 'reverse']
+ expected: FAIL
+
+ [Allows setting the direction of an animation in progress from 'normal' to 'reverse' while at start of active interval]
+ expected: FAIL
+
+ [Allows setting the direction of an animation in progress from 'normal' to 'reverse' while filling backwards]
+ expected: FAIL
+
+ [Allows setting the direction of an animation in progress from 'normal' to 'alternate']
+ expected: FAIL
+
+ [Allows setting the direction of an animation in progress from 'alternate' to 'alternate-reverse']
+ expected: FAIL
+
+ [Allows setting the easing to a step-start function]
+ expected: FAIL
+
+ [Allows setting the easing to a steps(1, start) function]
+ expected: FAIL
+
+ [Allows setting the easing to a steps(2, start) function]
+ expected: FAIL
+
+ [Allows setting the easing to a step-end function]
+ expected: FAIL
+
+ [Allows setting the easing to a steps(1) function]
+ expected: FAIL
+
+ [Allows setting the easing to a steps(1, end) function]
+ expected: FAIL
+
+ [Allows setting the easing to a steps(2, end) function]
+ expected: FAIL
+
+ [Allows setting the easing to a linear function]
+ expected: FAIL
+
+ [Allows setting the easing to a ease function]
+ expected: FAIL
+
+ [Allows setting the easing to a ease-in function]
+ expected: FAIL
+
+ [Allows setting the easing to a ease-in-out function]
+ expected: FAIL
+
+ [Allows setting the easing to a ease-out function]
+ expected: FAIL
+
+ [Allows setting the easing to a easing function which produces values greater than 1]
+ expected: FAIL
+
+ [Allows setting the easing to a easing function which produces values less than 1]
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'ease']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'linear']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'ease-in']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'ease-out']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'ease-in-out']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'cubic-bezier(0.1, 5, 0.23, 0)']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'steps(3, start)']
+ expected: FAIL
+
+ [Updates the specified value when setting the easing to 'steps(3)']
+ expected: FAIL
+
+ [Allows setting the easing of an animation in progress]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/finish-animation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/finish-animation.html.ini
new file mode 100644
index 0000000000..90bc9e291e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/finish-animation.html.ini
@@ -0,0 +1,63 @@
+[finish-animation.html]
+ [Finishing an animation resolves the finished promise synchronously]
+ expected: FAIL
+
+ [Finishing an animation attached to inactive timeline while play-pending doesn't resolves the pending task]
+ expected: FAIL
+
+ [Finishing an animation seeks to the end time]
+ expected: FAIL
+
+ [Finishing an animation fires finish event on orphaned element]
+ expected: FAIL
+
+ [A pending ready promise is resolved and not replaced when the animation is finished]
+ expected: FAIL
+
+ [Finishing a reversed animation with a current time less than zero makes it jump back to zero]
+ expected: FAIL
+
+ [Finishing a reversed animation jumps to zero time]
+ expected: FAIL
+
+ [Finishing an animation with a zero playback rate throws]
+ expected: FAIL
+
+ [Finishing a canceled animation sets the current and start times]
+ expected: FAIL
+
+ [Finishing idle animation attached to inactive timeline pauses the animation.]
+ expected: FAIL
+
+ [Finishing an animation while play-pending resolves the pending task immediately]
+ expected: FAIL
+
+ [Finishing an animation with a current time past the effect end jumps back to the end]
+ expected: FAIL
+
+ [Finishing idle animation produces correct state and fires finish event.]
+ expected: FAIL
+
+ [Finishing running animation attached to inactive timeline pauses the animation.]
+ expected: FAIL
+
+ [Finishing running animation produces correct state and fires finish event.]
+ expected: FAIL
+
+ [Finishing a pause-pending animation resolves the pending task immediately and update the start time]
+ expected: FAIL
+
+ [Finishing a paused animation resolves the start time]
+ expected: FAIL
+
+ [An exception should be thrown if the effective playback rate is zero]
+ expected: FAIL
+
+ [Finishing an animation during an aborted pause makes it finished immediately]
+ expected: FAIL
+
+ [A pending playback rate should be applied immediately when an animation is finished]
+ expected: FAIL
+
+ [Finishing a pause-pending animation with negative playback rate resolves the pending task immediately]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/idlharness.window.js.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/idlharness.window.js.ini
new file mode 100644
index 0000000000..fa31e0c83b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/idlharness.window.js.ini
@@ -0,0 +1,63 @@
+[idlharness.window.html]
+ [ScrollTimeline interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ViewTimeline interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ViewTimeline interface: attribute endOffset]
+ expected: FAIL
+
+ [ScrollTimeline interface object length]
+ expected: FAIL
+
+ [ScrollTimeline interface object name]
+ expected: FAIL
+
+ [Stringification of new ScrollTimeline()]
+ expected: FAIL
+
+ [ViewTimeline interface: attribute startOffset]
+ expected: FAIL
+
+ [ScrollTimeline interface: attribute source]
+ expected: FAIL
+
+ [ViewTimeline interface object length]
+ expected: FAIL
+
+ [ScrollTimeline interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ViewTimeline interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ScrollTimeline interface: attribute axis]
+ expected: FAIL
+
+ [ScrollTimeline must be primary interface of new ScrollTimeline()]
+ expected: FAIL
+
+ [ScrollTimeline interface: new ScrollTimeline() must inherit property "axis" with the proper type]
+ expected: FAIL
+
+ [ViewTimeline interface: attribute subject]
+ expected: FAIL
+
+ [ScrollTimeline interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ViewTimeline interface object name]
+ expected: FAIL
+
+ [ScrollTimeline interface: new ScrollTimeline() must inherit property "source" with the proper type]
+ expected: FAIL
+
+ [ViewTimeline interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ViewTimeline interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ScrollTimeline interface: existence and properties of interface object]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html.ini
new file mode 100644
index 0000000000..c575b65ea8
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html.ini
@@ -0,0 +1,18 @@
+[intrinsic-iteration-duration.tentative.html]
+ [Computed duration in percent even when specified in ms]
+ expected: FAIL
+
+ [Time-based duration normalized to fill animation range.]
+ expected: FAIL
+
+ [Time-based duration normalized to preserve proportional delays.]
+ expected: FAIL
+
+ [Intrinsic iteration duration fills timeline.]
+ expected: FAIL
+
+ [Intrinsic iteration duration accounts for animation range.]
+ expected: FAIL
+
+ [Intrinsic iteration duration accounts for number of iterations]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html.ini
new file mode 100644
index 0000000000..c3c209de7b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/layout-changes-on-percentage-based-timeline.html.ini
@@ -0,0 +1,2 @@
+[layout-changes-on-percentage-based-timeline.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/pause-animation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/pause-animation.html.ini
new file mode 100644
index 0000000000..e702cdbb42
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/pause-animation.html.ini
@@ -0,0 +1,21 @@
+[pause-animation.html]
+ [Pausing a canceled animation sets the current time]
+ expected: FAIL
+
+ [Pausing clears the start time]
+ expected: FAIL
+
+ [The animation's current time remains fixed after pausing]
+ expected: FAIL
+
+ [A pause-pending animation maintains the current time when applying a pending playback rate]
+ expected: FAIL
+
+ [Animation start and current times are correct if scroll timeline is activated after animation.pause call.]
+ expected: FAIL
+
+ [A pending ready promise should be resolved and not replaced when the animation is paused]
+ expected: FAIL
+
+ [Pause pending task doesn't run when the timeline is inactive.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/play-animation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/play-animation.html.ini
new file mode 100644
index 0000000000..16973718eb
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/play-animation.html.ini
@@ -0,0 +1,48 @@
+[play-animation.html]
+ [If a pause operation is interrupted, the ready promise is reused]
+ expected: FAIL
+
+ [Playing a finished animation clears the start time]
+ expected: FAIL
+
+ [Playing a canceled animation backwards sets the start time]
+ expected: FAIL
+
+ [Playing a canceled animation sets the start time]
+ expected: FAIL
+
+ [The ready promise should be replaced if the animation is not already pending]
+ expected: FAIL
+
+ [A pending ready promise should be resolved and not replaced when the animation enters the running state]
+ expected: FAIL
+
+ [Playing a pause-pending but previously finished animation realigns with the scroll position]
+ expected: FAIL
+
+ [Playing an animations with a negative playback rate aligns the start time with the end of the active range]
+ expected: FAIL
+
+ [Playing a finished animation restarts the animation aligned at the start]
+ expected: FAIL
+
+ [Current time set while play pending is preserved.]
+ expected: FAIL
+
+ [Playing an animations aligns the start time with the start of the active range]
+ expected: FAIL
+
+ [Resuming an animation from paused realigns with scroll position.]
+ expected: FAIL
+
+ [Start time set while play pending is preserved.]
+ expected: FAIL
+
+ [A pending playback rate is used when determining timeline range alignment]
+ expected: FAIL
+
+ [Playing a finished and reversed animation restarts the animation aligned at the end]
+ expected: FAIL
+
+ [Playing a running animation resets a sticky start time]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html.ini
new file mode 100644
index 0000000000..11fd4000f6
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/progress-based-effect-delay.tentative.html.ini
@@ -0,0 +1,2 @@
+[progress-based-effect-delay.tentative.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/reverse-animation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/reverse-animation.html.ini
new file mode 100644
index 0000000000..d2f653a657
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/reverse-animation.html.ini
@@ -0,0 +1,33 @@
+[reverse-animation.html]
+ [Reversing an animation inverts the playback rate]
+ expected: FAIL
+
+ [Reversing an animation does not cause it to resolve the ready promise]
+ expected: FAIL
+
+ [Reversing an animation without an active timeline throws an InvalidStateError]
+ expected: FAIL
+
+ [Reversing an animation plays a pausing animation]
+ expected: FAIL
+
+ [Reversing an animation does not cause it to leave the pending state]
+ expected: FAIL
+
+ [Reversing should use the negative pending playback rate]
+ expected: FAIL
+
+ [Reversing when when playbackRate == 0 should preserve the playback rate]
+ expected: FAIL
+
+ [Reversing an animation resets a sticky start time.]
+ expected: FAIL
+
+ [Setting current time while reverse-pending preserves currentTime]
+ expected: FAIL
+
+ [Reversing an animation with a negative playback rate should cause the animation to play in a forward direction]
+ expected: FAIL
+
+ [Reversing an idle animation aligns startTime with the rangeEnd boundary]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html.ini
new file mode 100644
index 0000000000..b1f1cb0173
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-fill-modes.tentative.html.ini
@@ -0,0 +1,78 @@
+[scroll-animation-effect-fill-modes.tentative.html]
+ [Scroll based animation effect fill mode should return 'auto' for getTiming() and should return 'none' for getComputedTiming().]
+ expected: FAIL
+
+ [Applied effect value before timeline start with fill: forwards]
+ expected: FAIL
+
+ [Applied effect value at timeline start with fill: forwards]
+ expected: FAIL
+
+ [Applied effect value in timeline range with fill: forwards]
+ expected: FAIL
+
+ [Applied effect value at timeline end with fill: forwards]
+ expected: FAIL
+
+ [Applied effect value after timeline end with fill: forwards]
+ expected: FAIL
+
+ [Applied effect value before timeline start with fill: both]
+ expected: FAIL
+
+ [Applied effect value at timeline start with fill: both]
+ expected: FAIL
+
+ [Applied effect value in timeline range with fill: both]
+ expected: FAIL
+
+ [Applied effect value at timeline end with fill: both]
+ expected: FAIL
+
+ [Applied effect value after timeline end with fill: both]
+ expected: FAIL
+
+ [Applied effect value before timeline start with fill: auto]
+ expected: FAIL
+
+ [Applied effect value at timeline start with fill: auto]
+ expected: FAIL
+
+ [Applied effect value in timeline range with fill: auto]
+ expected: FAIL
+
+ [Applied effect value at timeline end with fill: auto]
+ expected: FAIL
+
+ [Applied effect value after timeline end with fill: auto]
+ expected: FAIL
+
+ [Applied effect value at start delay with fill: none]
+ expected: FAIL
+
+ [Applied effect value before start delay with fill: none]
+ expected: FAIL
+
+ [Applied effect value at midpoint with fill: none]
+ expected: FAIL
+
+ [Applied effect value at effect end with fill: backwards]
+ expected: FAIL
+
+ [Applied effect value before start delay with fill: backwards]
+ expected: FAIL
+
+ [Applied effect value at start delay with fill: backwards]
+ expected: FAIL
+
+ [Applied effect value after effect end with fill: none]
+ expected: FAIL
+
+ [Applied effect value at effect end with fill: none]
+ expected: FAIL
+
+ [Applied effect value after effect end with fill: backwards]
+ expected: FAIL
+
+ [Applied effect value at midpoint with fill: backwards]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html.ini
new file mode 100644
index 0000000000..c9429107fd
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html.ini
@@ -0,0 +1,90 @@
+[scroll-animation-effect-phases.tentative.html]
+ [Verify that (play -> pause -> play) doesn't change phase/progress.]
+ expected: FAIL
+
+ [Pause in before phase, scroll timeline into active phase, animation should remain in the before phase]
+ expected: FAIL
+
+ [Make scroller inactive, then set current time to an in range time]
+ expected: FAIL
+
+ [Animation effect is still applied after pausing and making timeline inactive.]
+ expected: FAIL
+
+ [Current times and effect phase at timeline start when delay = 0 and endDelay = 500 |]
+ expected: FAIL
+
+ [Current times and effect phase at timeline start when delay = 500 and endDelay = 0 |]
+ expected: FAIL
+
+ [Pause in before phase, set animation current time to be in active range, animation should become active. Scrolling should have no effect.]
+ expected: FAIL
+
+ [Make timeline inactive, force style update then pause the animation. No crashing indicates test success.]
+ expected: FAIL
+
+ [Current times and effect phase at start delay when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase at start when delay = 0 and endDelay = 0 |]
+ expected: FAIL
+
+ [Current times and effect phase in active range when delay = 500 and endDelay = 0 |]
+ expected: FAIL
+
+ [Current times and effect phase after effect end time when delay = 0 and endDelay = 500 |]
+ expected: FAIL
+
+ [Current times and effect phase at effect end time when delay = 500 and endDelay = 0 |]
+ expected: FAIL
+
+ [Current times and effect phase at effect end time when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase at effect end time when delay = 0 and endDelay = 0 |]
+ expected: FAIL
+
+ [Current times and effect phase at timeline boundary when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase in active range when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase at timeline end when delay = -125 and endDelay = -125 |]
+ expected: FAIL
+
+ [Current times and effect phase in active range when delay = 0 and endDelay = 500 |]
+ expected: FAIL
+
+ [Current times and effect phase before start delay when delay = 500 and endDelay = 0 |]
+ expected: FAIL
+
+ [Current times and effect phase at timeline boundary when delay = 0 and endDelay = 500 |]
+ expected: FAIL
+
+ [Current times and effect phase in active range when delay = 0 and endDelay = 0 |]
+ expected: FAIL
+
+ [Current times and effect phase at timeline start when delay = -125 and endDelay = -125 |]
+ expected: FAIL
+
+ [Current times and effect phase before start delay when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase in active range when delay = -125 and endDelay = -125 |]
+ expected: FAIL
+
+ [Current times and effect phase at effect end time when delay = 0 and endDelay = 500 |]
+ expected: FAIL
+
+ [Current times and effect phase after effect end time when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase at timeline start when delay = 250 and endDelay = 250 |]
+ expected: FAIL
+
+ [Current times and effect phase at start delay when delay = 500 and endDelay = 0 |]
+ expected: FAIL
+
+ [Playback rate affects whether active phase boundary is inclusive.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html.ini
new file mode 100644
index 0000000000..defa965c1f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-inactive-timeline.html.ini
@@ -0,0 +1,13 @@
+[scroll-animation-inactive-timeline.html]
+ [Animation start and current times are correct if scroll timeline is activated after animation.play call.]
+ expected: FAIL
+
+ [Play pending task doesn't run when the timeline is inactive.]
+ expected: FAIL
+
+ [Animation current time is correct when the timeline becomes newly inactive and then active again.]
+ expected: FAIL
+
+ [Animation start and current times are correct if scroll timeline is activated after setting start time.]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation.html.ini
new file mode 100644
index 0000000000..2869cb3bd5
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation.html.ini
@@ -0,0 +1,12 @@
+[scroll-animation.html]
+ [Animation start and current times are correct for each animation state when the animation starts playing with advanced scroller.]
+ expected: FAIL
+
+ [Animation start and current times are correct for each animation state.]
+ expected: FAIL
+
+ [Sending animation finished events by finished animation on reverse scrolling.]
+ expected: FAIL
+
+ [Finished animation plays on reverse scrolling.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html.ini
new file mode 100644
index 0000000000..70910b3883
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html.ini
@@ -0,0 +1,9 @@
+[scroll-timeline-invalidation.html]
+ [Animation current time and effect local time are updated after scroller size changes.]
+ expected: FAIL
+
+ [Animation current time and effect local time are updated after scroller content size changes.]
+ expected: FAIL
+
+ [If scroll animation resizes its scroll timeline scroller, layout reruns once per frame.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-range.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-range.html.ini
new file mode 100644
index 0000000000..93068ac1be
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-range.html.ini
@@ -0,0 +1,24 @@
+[scroll-timeline-range.html]
+ [Scroll timeline with percentage range [JavaScript API\]]
+ expected: FAIL
+
+ [Scroll timeline with px range [JavaScript API\]]
+ expected: FAIL
+
+ [Scroll timeline with calculated range [JavaScript API\]]
+ expected: FAIL
+
+ [Scroll timeline with EM range [JavaScript API\]]
+ expected: FAIL
+
+ [Scroll timeline with percentage range [CSS\]]
+ expected: FAIL
+
+ [Scroll timeline with px range [CSS\]]
+ expected: FAIL
+
+ [Scroll timeline with calculated range [CSS\]]
+ expected: FAIL
+
+ [Scroll timeline with EM range [CSS\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html.ini
new file mode 100644
index 0000000000..4f21872fc6
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-snapshotting.html.ini
@@ -0,0 +1,4 @@
+[scroll-timeline-snapshotting.html]
+ [ScrollTimeline current time is updated after programmatic animated scroll.]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/set-current-time-before-play.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/set-current-time-before-play.html.ini
new file mode 100644
index 0000000000..bfbd8a14b1
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/set-current-time-before-play.html.ini
@@ -0,0 +1,2 @@
+[set-current-time-before-play.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-current-time.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-current-time.html.ini
new file mode 100644
index 0000000000..e2bae12e3c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-current-time.html.ini
@@ -0,0 +1,33 @@
+[setting-current-time.html]
+ [Set animation current time to a value beyond effect end.]
+ expected: FAIL
+
+ [Set animation current time to a negative value.]
+ expected: FAIL
+
+ [Set animation current time to a valid value while playing.]
+ expected: FAIL
+
+ [Setting animation current time to null throws TypeError.]
+ expected: FAIL
+
+ [Setting animation.currentTime then restarting the animation should reset the current time.]
+ expected: FAIL
+
+ [Set animation current time to a valid value without playing.]
+ expected: FAIL
+
+ [Setting current time while play pending overrides the current time]
+ expected: FAIL
+
+ [Set Animation current time then scroll.]
+ expected: FAIL
+
+ [Animation current time set while the timeline is inactive holds when the timeline becomes active again.]
+ expected: FAIL
+
+ [Animation current time and play state are correct when current time is set while the timeline is inactive.]
+ expected: FAIL
+
+ [Setting the current time to an absolute time value throws exception]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-playback-rate.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-playback-rate.html.ini
new file mode 100644
index 0000000000..1deb5bf7bc
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-playback-rate.html.ini
@@ -0,0 +1,42 @@
+[setting-playback-rate.html]
+ [Zero current time is not affected by playbackRate set while the animation is in play-pending state.]
+ expected: FAIL
+
+ [Initial current time is scaled by playbackRate set while scroll-linked animation is in running state.]
+ expected: FAIL
+
+ [Reversing the playback rate while playing correctly impacts current time during future scrolls]
+ expected: FAIL
+
+ [Zero initial playback rate should correctly modify initial current time.]
+ expected: FAIL
+
+ [The playback rate affects the rate of progress of the current time when scrolling]
+ expected: FAIL
+
+ [Zero current time is not affected by playbackRate set while the animation is in idle state.]
+ expected: FAIL
+
+ [The playback rate set before scroll-linked animation started playing affects the rate of progress of the current time]
+ expected: FAIL
+
+ [Negative initial playback rate should correctly modify initial current time.]
+ expected: FAIL
+
+ [Setting the playback rate while playing scales the set current time.]
+ expected: FAIL
+
+ [Setting a zero playback rate while running preserves the start time]
+ expected: FAIL
+
+ [Reversing an animation with non-boundary aligned start time symmetrically adjusts the start time]
+ expected: FAIL
+
+ [The current time is scaled by playbackRate set while the scroll-linked animation is in play state.]
+ expected: FAIL
+
+ [Setting the playback rate while playing scales current time.]
+ expected: FAIL
+
+ [Setting the playback rate while play-pending does not scale current time.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-start-time.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-start-time.html.ini
new file mode 100644
index 0000000000..770f249594
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-start-time.html.ini
@@ -0,0 +1,42 @@
+[setting-start-time.html]
+ [Setting the start time clears the hold time when the timeline is inactive]
+ expected: FAIL
+
+ [Setting the start time on a running animation updates the play state]
+ expected: FAIL
+
+ [Setting the start time resolves a pending ready promise]
+ expected: FAIL
+
+ [Setting an unresolved start time sets the hold time to unresolved when the timeline is inactive]
+ expected: FAIL
+
+ [Setting the start time resolves a pending ready promise when the timelineis inactive]
+ expected: FAIL
+
+ [Setting the start time clears the hold time]
+ expected: FAIL
+
+ [Setting the start time on a reverse running animation updates the play state]
+ expected: FAIL
+
+ [Setting an unresolved start time sets the hold time]
+ expected: FAIL
+
+ [Setting the start time updates the finished state]
+ expected: FAIL
+
+ [Setting the start time resolves a pending pause task]
+ expected: FAIL
+
+ [Setting the start time of a playing animation applies a pending playback rate]
+ expected: FAIL
+
+ [Setting the start time of a play-pending animation applies a pending playback rate]
+ expected: FAIL
+
+ [Setting the start time to an absolute time value throws exception]
+ expected: FAIL
+
+ [Setting an unresolved start time on a play-pending animation makes it idle]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-timeline.tentative.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-timeline.tentative.html.ini
new file mode 100644
index 0000000000..dd6cef6e84
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-timeline.tentative.html.ini
@@ -0,0 +1,48 @@
+[setting-timeline.tentative.html]
+ [Setting a scroll timeline on a play-pending animation synchronizes currentTime of the animation with the scroll position.]
+ expected: FAIL
+
+ [Setting a scroll timeline on a running animation synchronizes the currentTime of the animation with the scroll position.]
+ expected: FAIL
+
+ [Transitioning from a scroll timeline to a document timeline on a running animation preserves currentTime]
+ expected: FAIL
+
+ [Switching from one scroll timeline to another updates currentTime]
+ expected: FAIL
+
+ [Setting a scroll timeline on a reversed paused animation fixes the currentTime of the animation based on the scroll position when resumed]
+ expected: FAIL
+
+ [Setting a scroll timeline on a reversed play-pending animation synchronizes the currentTime of the animation with the scroll position.]
+ expected: FAIL
+
+ [Setting a scroll timeline on a pause-pending animation fixes the currentTime of the animation based on the scroll position once resumed]
+ expected: FAIL
+
+ [Switching from a document timeline to a scroll timeline updates currentTime when unpaused via CSS.]
+ expected: FAIL
+
+ [Setting a scroll timeline on a paused animation fixes the currentTime of the animation based on the scroll position when resumed]
+ expected: FAIL
+
+ [Switching from a null timeline to a scroll timeline on an animation with a resolved start time preserved the play state]
+ expected: FAIL
+
+ [Transitioning from a scroll timeline to a document timeline on a pause-pending animation preserves currentTime]
+ expected: FAIL
+
+ [Transition from a scroll timeline to a document timeline on a reversed paused animation maintains correct currentTime]
+ expected: FAIL
+
+ [Switching from a document timeline to a scroll timeline on an infinite duration animation.]
+ expected: FAIL
+
+ [Transitioning from a scroll timeline to a null timeline on a running animation preserves current progress.]
+ expected: FAIL
+
+ [Switching from a document timeline to a scroll timeline and updating currentTime preserves the progress while paused.]
+ expected: FAIL
+
+ [Changing from a scroll-timeline to a view-timeline updates start time.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/source-quirks-mode.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/source-quirks-mode.html.ini
new file mode 100644
index 0000000000..88780ed1a8
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/source-quirks-mode.html.ini
@@ -0,0 +1,3 @@
+[source-quirks-mode.html]
+ [Style of <body> is reflected in source attribute in quirks mode]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html.ini
new file mode 100644
index 0000000000..4f4f9a45ba
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline-cancel-one.html.ini
@@ -0,0 +1,2 @@
+[two-animations-attach-to-same-scroll-timeline-cancel-one.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html.ini
new file mode 100644
index 0000000000..edac1b8203
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/two-animations-attach-to-same-scroll-timeline.html.ini
@@ -0,0 +1,2 @@
+[two-animations-attach-to-same-scroll-timeline.html]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/update-playback-rate.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/update-playback-rate.html.ini
new file mode 100644
index 0000000000..931ee35810
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/update-playback-rate.html.ini
@@ -0,0 +1,28 @@
+[update-playback-rate.html]
+ [Updating the playback rate maintains the current time]
+ expected: FAIL
+
+ [Updating the playback rate on a play-pending animation maintains the current time]
+ expected: FAIL
+
+ [Updating the playback rate to zero on a finished animation maintains the current time]
+ expected: FAIL
+
+ [Updating the playback rate while running makes the animation pending]
+ expected: FAIL
+
+ [Updating the playback rate on a pause-pending animation maintains the current time]
+ expected: FAIL
+
+ [In the idle state, the playback rate is applied immediately]
+ expected: FAIL
+
+ [If a pending playback rate is set multiple times, the latest wins]
+ expected: FAIL
+
+ [Updating the playback rate on a finished animation maintains the current time]
+ expected: FAIL
+
+ [In the paused state, the playback rate is applied immediately]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/scroll-animations/scroll-timelines/updating-the-finished-state.html.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/updating-the-finished-state.html.ini
new file mode 100644
index 0000000000..a2cc1a1919
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/updating-the-finished-state.html.ini
@@ -0,0 +1,75 @@
+[updating-the-finished-state.html]
+ [Animation finish event is fired again after replaying from start]
+ expected: FAIL
+
+ [Updating the finished state when playing a reversed animation exactly to zero]
+ expected: FAIL
+
+ [Updating the finished state when playback rate is zero and the current time is less than end]
+ expected: FAIL
+
+ [Animation finished promise is replaced after seeking back to start]
+ expected: FAIL
+
+ [Updating the finished state when playback rate is zero and the current time is less than zero]
+ expected: FAIL
+
+ [finish event is fired after the endDelay has expired]
+ expected: FAIL
+
+ [Finish notification steps run when the animation seeks past finish]
+ expected: FAIL
+
+ [Finish notification steps run when the animation completes normally]
+ expected: FAIL
+
+ [Finish notification steps don't run when the animation seeks to finish and then seeks back again]
+ expected: FAIL
+
+ [Updating the finished state when seeking exactly to end]
+ expected: FAIL
+
+ [Updating the finished state when seeking a reversed animation exactly to zero]
+ expected: FAIL
+
+ [finish event is not fired at the end of the active interval when the endDelay has not expired]
+ expected: FAIL
+
+ [Finish notification steps run when the animation completes with .finish(), even if we then seek away]
+ expected: FAIL
+
+ [Updating the finished state when current time is unresolved]
+ expected: FAIL
+
+ [Updating the finished state when playing in reverse past zero]
+ expected: FAIL
+
+ [Updating the finished state when seeking before end]
+ expected: FAIL
+
+ [Animation finished promise is replaced after replaying from start]
+ expected: FAIL
+
+ [Updating the finished state when start time is unresolved and did seek = true]
+ expected: FAIL
+
+ [Updating the finished state when seeking past end]
+ expected: FAIL
+
+ [Animation finish event is fired again after seeking back to start]
+ expected: FAIL
+
+ [Updating the finished state when seeking a reversed animation past zero]
+ expected: FAIL
+
+ [Finish notification steps run when an animation without a target effect completes normally]
+ expected: FAIL
+
+ [Updating the finished state when seeking a reversed animation before end]
+ expected: FAIL
+
+ [Updating the finished state when playing exactly to end]
+ expected: FAIL
+
+ [Updating the finished state when playback rate is zero and the currenttime is greater than end]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/__dir__.ini b/testing/web-platform/meta/scroll-animations/view-timelines/__dir__.ini
new file mode 100644
index 0000000000..2ef043b928
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/__dir__.ini
@@ -0,0 +1 @@
+implementation-status: backlog
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/animation-events.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/animation-events.html.ini
new file mode 100644
index 0000000000..018844a261
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/animation-events.html.ini
@@ -0,0 +1,2 @@
+[animation-events.html]
+ expected: ERROR
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html.ini
new file mode 100644
index 0000000000..b1b5bbf580
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time-vertical-rl.tentative.html.ini
@@ -0,0 +1,3 @@
+[block-view-timeline-current-time-vertical-rl.tentative.html]
+ [View timeline with container having vertical-rl layout]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html.ini
new file mode 100644
index 0000000000..4b01c09206
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-current-time.tentative.html.ini
@@ -0,0 +1,9 @@
+[block-view-timeline-current-time.tentative.html]
+ [View timeline with start and end scroll offsets that do not align with the scroll boundaries]
+ expected: FAIL
+
+ [View timeline does not clamp starting scroll offset at 0]
+ expected: FAIL
+
+ [View timeline does not clamp end scroll offset at max scroll]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html.ini
new file mode 100644
index 0000000000..aaa10ff160
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/block-view-timeline-nested-subject.tentative.html.ini
@@ -0,0 +1,5 @@
+[block-view-timeline-nested-subject.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [View timeline with subject that is not a direct descendant of the scroll container]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/change-animation-range-updates-play-state.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/change-animation-range-updates-play-state.html.ini
new file mode 100644
index 0000000000..9508990401
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/change-animation-range-updates-play-state.html.ini
@@ -0,0 +1,3 @@
+[change-animation-range-updates-play-state.html]
+ [Changing the animation range updates the play state]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/contain-alignment.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/contain-alignment.html.ini
new file mode 100644
index 0000000000..4d10ef82e1
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/contain-alignment.html.ini
@@ -0,0 +1,3 @@
+[contain-alignment.html]
+ [Stability of animated elements aligned to the bounds of a contain region]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/fieldset-source.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/fieldset-source.html.ini
new file mode 100644
index 0000000000..b349dd7d32
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/fieldset-source.html.ini
@@ -0,0 +1,3 @@
+[fieldset-source.html]
+ [Fieldset is a valid source for a view timeline]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html.ini
new file mode 100644
index 0000000000..64353adf23
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html.ini
@@ -0,0 +1,15 @@
+[get-keyframes-with-timeline-offset.html]
+ [Report specified timeline offsets]
+ expected: FAIL
+
+ [Computed offsets can be outside [0,1\] for keyframes with timeline offsets]
+ expected: FAIL
+
+ [Retain specified ordering of keyframes with timeline offsets]
+ expected: FAIL
+
+ [Include unreachable keyframes]
+ expected: FAIL
+
+ [Mix of computed and timeline offsets.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/inline-subject.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/inline-subject.html.ini
new file mode 100644
index 0000000000..8db21da410
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/inline-subject.html.ini
@@ -0,0 +1,3 @@
+[inline-subject.html]
+ [View timeline attached to SVG graphics element]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html.ini
new file mode 100644
index 0000000000..df899b53f7
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/inline-view-timeline-current-time.tentative.html.ini
@@ -0,0 +1,12 @@
+[inline-view-timeline-current-time.tentative.html]
+ [View timeline with start and end scroll offsets that do not align with the scroll boundaries]
+ expected: FAIL
+
+ [View timeline with container having RTL layout]
+ expected: FAIL
+
+ [View timeline does not clamp starting scroll offset at 0]
+ expected: FAIL
+
+ [View timeline does not clamp end scroll offset at max scroll]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/range-boundary.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/range-boundary.html.ini
new file mode 100644
index 0000000000..7f7a03bbaf
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/range-boundary.html.ini
@@ -0,0 +1,2 @@
+[range-boundary.html]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-1.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-1.html.ini
new file mode 100644
index 0000000000..2de4f4e2aa
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-1.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-1.html]
+ [View timeline top-sticky during entry.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-2.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-2.html.ini
new file mode 100644
index 0000000000..ff79c86cbd
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-2.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-2.html]
+ [View timeline bottom-sticky during entry and top-sticky during exit.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-3.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-3.html.ini
new file mode 100644
index 0000000000..f6623f0e60
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-3.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-3.html]
+ [View timeline top-sticky and bottom-sticky during entry.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-4.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-4.html.ini
new file mode 100644
index 0000000000..0eb00a6b03
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-4.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-4.html]
+ [View timeline top-sticky before entry.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-5.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-5.html.ini
new file mode 100644
index 0000000000..d7b8bcdb44
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-5.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-5.html]
+ [View timeline bottom-sticky before entry and top-sticky after exit.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-6.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-6.html.ini
new file mode 100644
index 0000000000..ce12caa250
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-6.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-6.html]
+ [View timeline target > viewport, bottom-sticky during entry and top-sticky during exit.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-7.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-7.html.ini
new file mode 100644
index 0000000000..22c9c85d3b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/sticky/view-timeline-sticky-offscreen-7.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-offscreen-7.html]
+ [View timeline target > viewport, bottom-sticky and top-sticky during contain.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-001.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-001.html.ini
new file mode 100644
index 0000000000..11a1e49c24
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-001.html.ini
@@ -0,0 +1,3 @@
+[svg-graphics-element-001.html]
+ [View timeline attached to SVG graphics element]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-002.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-002.html.ini
new file mode 100644
index 0000000000..7e5f0f6f5b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-002.html.ini
@@ -0,0 +1,3 @@
+[svg-graphics-element-002.html]
+ [View timeline attached to SVG graphics element]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-003.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-003.html.ini
new file mode 100644
index 0000000000..b07769a564
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/svg-graphics-element-003.html.ini
@@ -0,0 +1,3 @@
+[svg-graphics-element-003.html]
+ [View timeline attached to SVG graphics element]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/timeline-offset-in-keyframe.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/timeline-offset-in-keyframe.html.ini
new file mode 100644
index 0000000000..ca511aa81f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/timeline-offset-in-keyframe.html.ini
@@ -0,0 +1,15 @@
+[timeline-offset-in-keyframe.html]
+ [Timeline offsets in programmatic keyframes]
+ expected: FAIL
+
+ [String offsets in programmatic keyframes]
+ expected: FAIL
+
+ [Invalid timeline offset in programmatic keyframe throws]
+ expected: FAIL
+
+ [Timeline offsets in programmatic keyframes adjust for change in timeline]
+ expected: FAIL
+
+ [Timeline offsets in programmatic keyframes resolved when updating the animation effect]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/unattached-subject-inset.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/unattached-subject-inset.html.ini
new file mode 100644
index 0000000000..ef04be4e0e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/unattached-subject-inset.html.ini
@@ -0,0 +1,3 @@
+[unattached-subject-inset.html]
+ [Creating a view timeline with a subject that is not attached to the document works as expected]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-current-time-range-name.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-current-time-range-name.html.ini
new file mode 100644
index 0000000000..9f994ae6af
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-current-time-range-name.html.ini
@@ -0,0 +1,5 @@
+[view-timeline-get-current-time-range-name.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [View timeline current time for named range]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-set-range.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-set-range.html.ini
new file mode 100644
index 0000000000..71b071c084
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-get-set-range.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-get-set-range.html]
+ [Getting and setting the animation range]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-inset.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-inset.html.ini
new file mode 100644
index 0000000000..30864e5250
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-inset.html.ini
@@ -0,0 +1,23 @@
+[view-timeline-inset.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [View timeline with px based inset.]
+ expected: FAIL
+
+ [View timeline with percent based inset.]
+ expected: FAIL
+
+ [view timeline with inset auto.]
+ expected: FAIL
+
+ [view timeline with font relative inset.]
+ expected: FAIL
+
+ [view timeline with viewport relative insets.]
+ expected: FAIL
+
+ [view timeline inset as string]
+ expected: FAIL
+
+ [view timeline with invalid inset]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-missing-subject.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-missing-subject.html.ini
new file mode 100644
index 0000000000..dd707edb3e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-missing-subject.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-missing-subject.html]
+ [ViewTimeline with missing subject]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-on-display-none-element.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-on-display-none-element.html.ini
new file mode 100644
index 0000000000..28748a3f1e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-on-display-none-element.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-on-display-none-element.html]
+ [element with display: none should have inactive viewtimeline]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range-large-subject.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range-large-subject.html.ini
new file mode 100644
index 0000000000..3f01fc0b18
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range-large-subject.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-range-large-subject.html]
+ [View timeline with range set via delays.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range.html.ini
new file mode 100644
index 0000000000..ec32fab2d4
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-range.html.ini
@@ -0,0 +1,27 @@
+[view-timeline-range.html]
+ [View timeline with range as <name> <percent> pair.]
+ expected: FAIL
+
+ [View timeline with range and inferred name or offset.]
+ expected: FAIL
+
+ [View timeline with range as <name> <px> pair.]
+ expected: FAIL
+
+ [View timeline with range as <name> <percent+px> pair.]
+ expected: FAIL
+
+ [View timeline with range as <name> <percent> pair.]
+ expected: FAIL
+
+ [View timeline with range and inferred name or offset.]
+ expected: FAIL
+
+ [View timeline with range as <name> <px> pair.]
+ expected: FAIL
+
+ [View timeline with range as <name> <percent+px> pair.]
+ expected: FAIL
+
+ [View timeline with range as strings.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-root-source.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-root-source.html.ini
new file mode 100644
index 0000000000..a2fa3fa414
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-root-source.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-root-source.html]
+ [Test view-timeline with document scrolling element.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-snapport.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-snapport.html.ini
new file mode 100644
index 0000000000..367a24713c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-snapport.html.ini
@@ -0,0 +1,5 @@
+[view-timeline-snapport.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Default ViewTimeline is not affected by scroll-padding]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-source.tentative.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-source.tentative.html.ini
new file mode 100644
index 0000000000..52a2074b17
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-source.tentative.html.ini
@@ -0,0 +1,11 @@
+[view-timeline-source.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Default source for a View timeline is the nearest scroll ancestor to the subject]
+ expected: FAIL
+
+ [View timeline ignores explicitly set source]
+ expected: FAIL
+
+ [View timeline source is null when display:none]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-block.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-block.html.ini
new file mode 100644
index 0000000000..55e3f805d7
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-block.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-block.html]
+ [View timeline with sticky target, block axis.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-inline.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-inline.html.ini
new file mode 100644
index 0000000000..cce9ad2ddf
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-sticky-inline.html.ini
@@ -0,0 +1,3 @@
+[view-timeline-sticky-inline.html]
+ [View timeline with sticky target, block axis.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-subject-size-changes.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-subject-size-changes.html.ini
new file mode 100644
index 0000000000..51f765c391
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-subject-size-changes.html.ini
@@ -0,0 +1,5 @@
+[view-timeline-subject-size-changes.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [View timeline with subject size change after the creation of the animation]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html.ini
new file mode 100644
index 0000000000..c840d9d405
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html.ini
@@ -0,0 +1,3 @@
+[zero-intrinsic-iteration-duration.tentative.html]
+ [Intrinsic iteration duration is non-negative]
+ expected: FAIL