summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/scroll-animations
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/meta/scroll-animations
parentInitial commit. (diff)
downloadfirefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz
firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
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-shorthand.html.ini6
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-computed.html.ini36
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-ignored.tentative.html.ini12
-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.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini35
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-parsing.html.ini62
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini27
-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/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.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-specified-scroller-print.html.ini2
-rw-r--r--testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini30
-rw-r--r--testing/web-platform/meta/scroll-animations/css/progress-based-animation-timeline.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-writing-mode.html.ini3
-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.ini34
-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.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-multi-pass.tentative.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-computed.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.tentative.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-tree-scoped.html.ini11
-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-paused-animations.html.ini8
-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.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/scroll-animations/css/scroll-timeline-sibling-gcs.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/timeline-range-name-offset-in-keyframes.tentative.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-animation.html.ini11
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-axis-computed.html.ini44
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-axis-parsing.html.ini38
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-delay-animation.html.ini23
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-dynamic.html.ini14
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini77
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-inset-computed.html.ini53
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-inset-parsing.html.ini41
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-lookup.html.ini23
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-name-computed.html.ini41
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-name-parsing.html.ini44
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-name-tree-scoped.html.ini9
-rw-r--r--testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.tentative.html.ini104
-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/scroll-timelines/__dir__.ini1
-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/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.ini72
-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.ini25
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/play-animation.html.ini37
-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.ini39
-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.ini87
-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.ini16
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html.ini10
-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.ini45
-rw-r--r--testing/web-platform/meta/scroll-animations/scroll-timelines/setting-start-time.html.ini45
-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/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/inline-view-timeline-current-time.tentative.html.ini12
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay-large-subject.html.ini5
-rw-r--r--testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay.html.ini5
-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-inset.html.ini23
-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-subject-size-changes.html.ini5
97 files changed, 2013 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-shorthand.html.ini b/testing/web-platform/meta/scroll-animations/css/animation-shorthand.html.ini
new file mode 100644
index 0000000000..69495beddd
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-shorthand.html.ini
@@ -0,0 +1,6 @@
+[animation-shorthand.html]
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim scroll()" should not set the property value]
+ expected: FAIL
+
+ [e.style['animation'\] = "1s linear 1s 2 reverse forwards paused anim timeline" should not set the property value]
+ 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..aad9e6ca7b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-computed.html.ini
@@ -0,0 +1,36 @@
+[animation-timeline-computed.html]
+ [Property animation-timeline value 'view()']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(block)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(inline)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(horizontal)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(vertical)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(vertical 1px)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(1px auto)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(auto 1px)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(vertical 1px auto)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(1px vertical)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(vertical auto)']
+ expected: FAIL
+
+ [Property animation-timeline value 'view(vertical auto auto)']
+ 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..deab898956
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-ignored.tentative.html.ini
@@ -0,0 +1,12 @@
+[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
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..f59dbea7ef
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-multiple.html.ini
@@ -0,0 +1,3 @@
+[animation-timeline-multiple.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
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..bdb048be37
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini
@@ -0,0 +1,35 @@
+[animation-timeline-named-scroll-progress-timeline.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [scroll-timeline-name affects subsequent siblings when changed]
+ expected: FAIL
+
+ [scroll-timeline-name on inserted element affects subsequent siblings]
+ expected: FAIL
+
+ [scroll-timeline-name on removed element affects subsequent siblings]
+ expected: FAIL
+
+ [scroll-timeline-name on element leaving display:none affects subsequent siblings]
+ expected: FAIL
+
+ [scroll-timeline-name on element becoming display:none affects subsequent siblings]
+ expected: FAIL
+
+ [scroll-timeline-name on element not resolved until element becomes visible]
+ expected: FAIL
+
+ [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 finds next candidate when element is removed]
+ expected: FAIL
+
+ [Timeline lookup updates candidate when closer match available.]
+ expected: FAIL
+
+ [Timeline lookup updates candidate when match becomes available.]
+ 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..2d0e2d6703
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-parsing.html.ini
@@ -0,0 +1,62 @@
+[animation-timeline-parsing.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [e.style['animation-timeline'\] = "view()" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(block)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(inline)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(horizontal)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(vertical)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(vertical 1px 2px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(vertical 1px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(vertical auto)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(vertical auto auto)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(vertical auto 1px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px 2px vertical)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px vertical)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(auto horizontal)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px 2px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px 1px)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(1px auto)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(auto calc(1% + 1px))" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(auto)" should set the property value]
+ expected: FAIL
+
+ [e.style['animation-timeline'\] = "view(auto auto)" 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..a9fd960fc7
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html.ini
@@ -0,0 +1,3 @@
+[animation-timeline-scroll-functional-notation.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
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..41bd86cfc8
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini
@@ -0,0 +1,27 @@
+[animation-timeline-view-functional-notation.tentative.html]
+ [animation-timeline: view()]
+ expected: FAIL
+
+ [animation-timeline: view(50px)]
+ expected: FAIL
+
+ [animation-timeline: view(auto 50px)]
+ expected: FAIL
+
+ [animation-timeline: view(inline)]
+ expected: FAIL
+
+ [animation-timeline: view(horizontal)]
+ expected: FAIL
+
+ [animation-timeline: view(vertical)]
+ expected: FAIL
+
+ [animation-timeline: view(horizontal 50px)]
+ expected: FAIL
+
+ [animation-timeline: view(), view(inline)]
+ expected: FAIL
+
+ [animation-timeline: view(inline) changes to view(inline 50px)]
+ 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/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..c240437068
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-default-print.tentative.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-default-print.tentative.html]
+ expected: FAIL
+ max-asserts: 2
diff --git a/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-specified-scroller-print.html.ini b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-specified-scroller-print.html.ini
new file mode 100644
index 0000000000..f293c93f7c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/printing/scroll-timeline-specified-scroller-print.html.ini
@@ -0,0 +1,2 @@
+[scroll-timeline-specified-scroller-print.html]
+ expected: FAIL
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..62c912ded9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini
@@ -0,0 +1,30 @@
+[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
diff --git a/testing/web-platform/meta/scroll-animations/css/progress-based-animation-timeline.html.ini b/testing/web-platform/meta/scroll-animations/css/progress-based-animation-timeline.html.ini
new file mode 100644
index 0000000000..a1a43749c9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/progress-based-animation-timeline.html.ini
@@ -0,0 +1,5 @@
+[progress-based-animation-timeline.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [progress based animation timeline works]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.tentative.html.ini
new file mode 100644
index 0000000000..ebe70f9c12
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-computed.tentative.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-axis-computed.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.tentative.html.ini
new file mode 100644
index 0000000000..e421b16fe1
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-parsing.tentative.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-axis-parsing.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
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..7836051b66
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-axis-writing-mode.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-axis-writing-mode.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
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..931ec8a340
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-dynamic.tentative.html.ini
@@ -0,0 +1,34 @@
+[scroll-timeline-dynamic.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Changing scroll-timeline on preceding elements affects target element [immediate\]]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1774060
+ expected: FAIL
+
+ [Changing scroll-timeline on preceding elements affects target element [scroll\]]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1774060
+ expected: FAIL
+
+ [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 while paused [immediate\]]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1774060
+ expected: FAIL
+
+ [Switching timelines while paused [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
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..c9025ec766
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-inactive.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-inactive.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Animation does not apply when timeline is initially inactive]
+ expected: FAIL
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..680268e2f9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-multi-pass.tentative.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-multi-pass.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Multiple style/layout passes occur when necessary]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-computed.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-computed.tentative.html.ini
new file mode 100644
index 0000000000..534ed5c98d
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-computed.tentative.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-name-computed.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.tentative.html.ini
new file mode 100644
index 0000000000..b0244b6802
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-parsing.tentative.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-name-parsing.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [e.style['scroll-timeline-name'\] = "auto" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-tree-scoped.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-tree-scoped.html.ini
new file mode 100644
index 0000000000..d29dbedeb9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-name-tree-scoped.html.ini
@@ -0,0 +1,11 @@
+[scroll-timeline-name-tree-scoped.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Inner animation can see scroll timeline defined by ::part]
+ expected: FAIL
+
+ [Outer animation can not see scroll timeline defined by :host]
+ expected: FAIL
+
+ [Outer animation can not see scroll timeline defined by ::slotted]
+ 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-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-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..5f130ad5b1
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sampling.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-sampling.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Scroll position is sampled once per frame]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.tentative.html.ini
new file mode 100644
index 0000000000..ef4b7b05cf
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-shorthand.tentative.html.ini
@@ -0,0 +1,3 @@
+[scroll-timeline-shorthand.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sibling-gcs.html.ini b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sibling-gcs.html.ini
new file mode 100644
index 0000000000..bad98eaa99
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/scroll-timeline-sibling-gcs.html.ini
@@ -0,0 +1,5 @@
+[scroll-timeline-sibling-gcs.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Timelines appearing on preceding siblings are visible to getComputedStyle]
+ 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..cdc1925c4f
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/timeline-range-name-offset-in-keyframes.tentative.html.ini
@@ -0,0 +1,5 @@
+[timeline-range-name-offset-in-keyframes.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Timeline offset in Animation Keyframes]
+ 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..52dedae742
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-animation.html.ini
@@ -0,0 +1,11 @@
+[view-timeline-animation.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Default view-timeline]
+ expected: FAIL
+
+ [Horizontal view-timeline]
+ expected: FAIL
+
+ [Multiple view-timelines on the same element]
+ expected: 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..fd86591167
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-computed.html.ini
@@ -0,0 +1,44 @@
+[view-timeline-axis-computed.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Property view-timeline-axis value 'initial']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'inherit']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'unset']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'revert']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'block']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'inline']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'vertical']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'horizontal']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'block, inline']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'inline, block']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'block, vertical, horizontal, inline']
+ expected: FAIL
+
+ [Property view-timeline-axis value 'inline, inline, inline, inline']
+ expected: FAIL
+
+ [The view-timeline-axis property shows up in CSSStyleDeclaration enumeration]
+ expected: FAIL
+
+ [The view-timeline-axis property shows up in CSSStyleDeclaration.cssText]
+ 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..40cf51852a
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-axis-parsing.html.ini
@@ -0,0 +1,38 @@
+[view-timeline-axis-parsing.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [e.style['view-timeline-axis'\] = "initial" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "inherit" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "unset" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "revert" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "inline" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "vertical" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "horizontal" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "block, inline" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "inline, block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "block, vertical, horizontal, inline" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-axis'\] = "inline, inline, inline, inline" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-delay-animation.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-delay-animation.html.ini
new file mode 100644
index 0000000000..ccbb93987c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-delay-animation.html.ini
@@ -0,0 +1,23 @@
+[view-timeline-delay-animation.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Animation with delays [initial, initial\]]
+ expected: FAIL
+
+ [Animation with delays [cover 0%, cover 100%\]]
+ expected: FAIL
+
+ [Animation with delays [contain 0%, contain 100%\]]
+ expected: FAIL
+
+ [Animation with delays [enter 0%, enter 100%\]]
+ expected: FAIL
+
+ [Animation with delays [exit 0%, exit 100%\]]
+ expected: FAIL
+
+ [Animation with delays [contain -50%, enter 200%\]]
+ expected: FAIL
+
+ [Animation with delays [enter 0%, exit 100%\]]
+ 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..8fae407749
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-dynamic.html.ini
@@ -0,0 +1,14 @@
+[view-timeline-dynamic.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Dynamically changing view-timeline-name]
+ expected: FAIL
+
+ [Dynamically changing view-timeline-axis]
+ expected: FAIL
+
+ [Dynamically changing view-timeline-inset]
+ expected: FAIL
+
+ [Element with view-timeline becoming display:none]
+ 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..eb7308e34c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini
@@ -0,0 +1,77 @@
+[view-timeline-inset-animation.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [view-timeline-inset with one value]
+ expected: FAIL
+
+ [view-timeline-inset with two values]
+ expected: FAIL
+
+ [view-timeline-inset with em values]
+ expected: FAIL
+
+ [view-timeline-inset with percentage values]
+ expected: FAIL
+
+ [view-timeline-inset with negative values]
+ expected: FAIL
+
+ [view-timeline-inset with horizontal scroller]
+ expected: FAIL
+
+ [view-timeline-inset with block scroller]
+ expected: FAIL
+
+ [view-timeline-inset with inline scroller]
+ expected: FAIL
+
+ [view-timeline-inset:auto, block]
+ expected: FAIL
+
+ [view-timeline-inset:auto, block, vertical-lr]
+ expected: FAIL
+
+ [view-timeline-inset:auto, block, vertical-rl]
+ 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, vertical]
+ expected: FAIL
+
+ [view-timeline-inset:auto, vertical, vertical-rl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, vertical, vertical-rl, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, horizontal]
+ expected: FAIL
+
+ [view-timeline-inset:auto, horizontal, rtl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, horizontal, vertical-lr]
+ expected: FAIL
+
+ [view-timeline-inset:auto, horizontal, vertical-rl]
+ expected: FAIL
+
+ [view-timeline-inset:auto, mix]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-computed.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-computed.html.ini
new file mode 100644
index 0000000000..d0349ff8b6
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-computed.html.ini
@@ -0,0 +1,53 @@
+[view-timeline-inset-computed.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Property view-timeline-inset value 'initial']
+ expected: FAIL
+
+ [Property view-timeline-inset value 'inherit']
+ expected: FAIL
+
+ [Property view-timeline-inset value 'unset']
+ expected: FAIL
+
+ [Property view-timeline-inset value 'revert']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1%']
+ expected: FAIL
+
+ [Property view-timeline-inset value 'calc(1% + 1px)']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px 2px']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px 2em']
+ expected: FAIL
+
+ [Property view-timeline-inset value 'calc(1px + 1em) 2px']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px 2px, 3px 4px']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px auto, auto 4px']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px, 2px, 3px']
+ expected: FAIL
+
+ [Property view-timeline-inset value '1px 1px, 2px 3px']
+ expected: FAIL
+
+ [Property view-timeline-inset value 'auto auto, auto auto']
+ expected: FAIL
+
+ [The view-timeline-inset property shows up in CSSStyleDeclaration enumeration]
+ expected: FAIL
+
+ [The view-timeline-inset property shows up in CSSStyleDeclaration.cssText]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-parsing.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-parsing.html.ini
new file mode 100644
index 0000000000..faf29ecd9a
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-inset-parsing.html.ini
@@ -0,0 +1,41 @@
+[view-timeline-inset-parsing.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [e.style['view-timeline-inset'\] = "initial" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "inherit" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "unset" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "revert" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px 2px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px 2em" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "calc(1em + 1px) 2px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px 2px, 3px 4px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px auto, auto 4px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px, 2px, 3px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "1px 1px, 2px 3px" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-inset'\] = "auto auto, auto auto" should set the property value]
+ expected: 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..a9f7a9634e
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-lookup.html.ini
@@ -0,0 +1,23 @@
+[view-timeline-lookup.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [view-timeline on self]
+ expected: FAIL
+
+ [view-timeline on preceding sibling]
+ expected: FAIL
+
+ [view-timeline on ancestor]
+ expected: FAIL
+
+ [view-timeline on ancestor sibling]
+ expected: FAIL
+
+ [view-timeline on ancestor sibling, closest wins]
+ expected: FAIL
+
+ [view-timeline on ancestor sibling, skips nonmatching names]
+ expected: FAIL
+
+ [view-timeline on ancestor sibling, view-timeline wins on same element]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-name-computed.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-computed.html.ini
new file mode 100644
index 0000000000..e5eb299d0c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-computed.html.ini
@@ -0,0 +1,41 @@
+[view-timeline-name-computed.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Property view-timeline-name value 'initial']
+ expected: FAIL
+
+ [Property view-timeline-name value 'inherit']
+ expected: FAIL
+
+ [Property view-timeline-name value 'unset']
+ expected: FAIL
+
+ [Property view-timeline-name value 'revert']
+ expected: FAIL
+
+ [Property view-timeline-name value 'none']
+ expected: FAIL
+
+ [Property view-timeline-name value 'foo']
+ expected: FAIL
+
+ [Property view-timeline-name value 'foo, bar']
+ expected: FAIL
+
+ [Property view-timeline-name value 'bar, foo']
+ expected: FAIL
+
+ [Property view-timeline-name value 'a, b, c, D, e']
+ expected: FAIL
+
+ [Property view-timeline-name value 'none, none']
+ expected: FAIL
+
+ [Property view-timeline-name value 'a, b, c, none, d, e']
+ expected: FAIL
+
+ [The view-timeline-name property shows up in CSSStyleDeclaration enumeration]
+ expected: FAIL
+
+ [The view-timeline-name property shows up in CSSStyleDeclaration.cssText]
+ 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..9a1fe22f23
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-parsing.html.ini
@@ -0,0 +1,44 @@
+[view-timeline-name-parsing.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [e.style['view-timeline-name'\] = "initial" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "inherit" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "unset" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "revert" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "none" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "abc" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = " abc" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "abc " should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "aBc" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "foo, bar" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "bar, foo" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "none, none" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "a, none, b" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline-name'\] = "auto" should set the property value]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-name-tree-scoped.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-tree-scoped.html.ini
new file mode 100644
index 0000000000..3a008615d6
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-name-tree-scoped.html.ini
@@ -0,0 +1,9 @@
+[view-timeline-name-tree-scoped.html]
+ [Inner animation can see view timeline defined by ::part]
+ expected: FAIL
+
+ [Outer animation can not see view timeline defined by ::slotted]
+ expected: FAIL
+
+ [Outer animation can not see view timeline defined by :host]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.tentative.html.ini b/testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.tentative.html.ini
new file mode 100644
index 0000000000..b5e2cef65b
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/css/view-timeline-shorthand.tentative.html.ini
@@ -0,0 +1,104 @@
+[view-timeline-shorthand.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [e.style['view-timeline'\] = "abcd" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "none block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "none inline" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "inline block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "block block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "vertical block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "horizontal block" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "a, b, c" should set the property value]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "a inline, b block, c vertical" should set the property value]
+ expected: FAIL
+
+ [Property view-timeline value 'abcd']
+ expected: FAIL
+
+ [Property view-timeline value 'none block']
+ expected: FAIL
+
+ [Property view-timeline value 'none inline']
+ expected: FAIL
+
+ [Property view-timeline value 'inline block']
+ expected: FAIL
+
+ [Property view-timeline value 'block block']
+ expected: FAIL
+
+ [Property view-timeline value 'vertical block']
+ expected: FAIL
+
+ [Property view-timeline value 'horizontal block']
+ expected: FAIL
+
+ [Property view-timeline value 'a, b, c']
+ expected: FAIL
+
+ [Property view-timeline value 'a inline, b block, c vertical']
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc vertical" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc vertical" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc vertical" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc vertical, def" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc vertical, def" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc vertical, def" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc, def" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc, def" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "abc, def" should not set unrelated longhands]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "inline horizontal" should set view-timeline-axis]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "inline horizontal" should set view-timeline-name]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "inline horizontal" should not set unrelated longhands]
+ expected: FAIL
+
+ [Shorthand contraction of view-timeline-name:abc;view-timeline-axis:inline]
+ expected: FAIL
+
+ [Shorthand contraction of view-timeline-name:a, b;view-timeline-axis:inline, block]
+ expected: FAIL
+
+ [Shorthand contraction of view-timeline-name:none, none;view-timeline-axis:block, block]
+ expected: FAIL
+
+ [e.style['view-timeline'\] = "auto" should set the property value]
+ 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/scroll-timelines/__dir__.ini b/testing/web-platform/meta/scroll-animations/scroll-timelines/__dir__.ini
new file mode 100644
index 0000000000..2ef043b928
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/__dir__.ini
@@ -0,0 +1 @@
+implementation-status: backlog
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..dd1866612b
--- /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
+
+ ['horizontal' is a valid axis value]
+ expected: FAIL
+
+ [A ScrollTimeline created with the default axis should default to 'block']
+ expected: FAIL
+
+ ['vertical' is a valid axis value]
+ expected: FAIL
+
+ ['block' is a valid axis value]
+ expected: FAIL
+
+ ['inline' 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/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..bf596b20d6
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/idlharness.window.js.ini
@@ -0,0 +1,72 @@
+[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
+
+ [AnimationTimeline interface: new ScrollTimeline() must inherit property "getCurrentTime(optional CSSOMString)" with the proper type]
+ expected: FAIL
+
+ [AnimationTimeline interface: calling getCurrentTime(optional CSSOMString) on new ScrollTimeline() with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AnimationTimeline interface: operation getCurrentTime(optional CSSOMString)]
+ 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..7baa5f047c
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/pause-animation.html.ini
@@ -0,0 +1,25 @@
+[pause-animation.html]
+ [Pausing a canceled animation sets the current time]
+ expected: FAIL
+
+ [Pausing clears the start time]
+ expected: FAIL
+
+ [Aborting a pause preserves 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..4e122aa9ff
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/play-animation.html.ini
@@ -0,0 +1,37 @@
+[play-animation.html]
+ [If a pause operation is interrupted, the ready promise is reused]
+ expected: FAIL
+
+ [Resuming an animation from paused calculates start time from hold time]
+ expected: FAIL
+
+ [Playing a finished and reversed animation seeks to end]
+ expected: FAIL
+
+ [A pending playback rate is used when determining auto-rewind behavior]
+ expected: FAIL
+
+ [Playing a finished animation clears the start time]
+ expected: FAIL
+
+ [Playing a running animation leaves the current time unchanged]
+ expected: FAIL
+
+ [Playing a canceled animation backwards sets the start time]
+ expected: FAIL
+
+ [Playing a finished animation seeks back to the start]
+ 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 seeks back to to the start]
+ 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..3dd1cbc064
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/reverse-animation.html.ini
@@ -0,0 +1,39 @@
+[reverse-animation.html]
+ [Reversing an animation when playbackRate < 0 and currentTime < 0 should make it play from the start]
+ expected: FAIL
+
+ [Reversing an animation when playbackRate > 0 and currentTime > effect end should make it play from the end]
+ expected: FAIL
+
+ [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 when playbackRate > 0 and currentTime < 0 should make it play from the end]
+ 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 an animation maintains the same current time]
+ expected: FAIL
+
+ [Reversing should use the negative pending playback rate]
+ expected: FAIL
+
+ [Reversing an idle animation from starts playing the animation]
+ expected: FAIL
+
+ [Reversing when when playbackRate == 0 should preserve the current time and playback rate]
+ expected: FAIL
+
+ [Reversing an animation when playbackRate < 0 and currentTime > effect end should make it play from the start]
+ 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..00578e7786
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation-effect-phases.tentative.html.ini
@@ -0,0 +1,87 @@
+[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
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..844e5bae70
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-animation.html.ini
@@ -0,0 +1,16 @@
+[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 when multiple animations are attached to the same timeline.]
+ 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..f244c1dea9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/scroll-timeline-invalidation.html.ini
@@ -0,0 +1,10 @@
+[scroll-timeline-invalidation.html]
+ [If scroll animation resizes its scroll timeline scroller, layout runs only once to reflect the initial update.]
+ expected: FAIL
+
+ [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
+
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..7f72b2e917
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-playback-rate.html.ini
@@ -0,0 +1,45 @@
+[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 the playback rate while play-pending scales the set current time.]
+ expected: FAIL
+
+ [Setting the playback rate while play-pending scales the current time from scrollTimeline.]
+ 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 the current time from scrollTimeline.]
+ 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..f6136edea3
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-start-time.html.ini
@@ -0,0 +1,45 @@
+[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 on a play-pending animation makes it paused]
+ 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 an unresolved start time on a play-pending animation makes it idle when the timeline is inactive]
+ 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
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..8c4d4228de
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/scroll-timelines/setting-timeline.tentative.html.ini
@@ -0,0 +1,48 @@
+[setting-timeline.tentative.html]
+ [Transitioning from a scroll timeline to a null timeline on a running animation preserves the play state]
+ expected: FAIL
+
+ [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
+
+ [Switching from a document timeline to a scroll timeline and updating currentTime preserves the new value when unpaused.]
+ 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
+
+ [Switching from a document timeline to a scroll timeline and updating startTime preserves the new value when play is called.]
+ 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
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/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/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/view-timeline-delay-large-subject.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay-large-subject.html.ini
new file mode 100644
index 0000000000..90e5d500b9
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay-large-subject.html.ini
@@ -0,0 +1,5 @@
+[view-timeline-delay-large-subject.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [View timeline with range set via delays.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay.html.ini b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay.html.ini
new file mode 100644
index 0000000000..6de10e53af
--- /dev/null
+++ b/testing/web-platform/meta/scroll-animations/view-timelines/view-timeline-delay.html.ini
@@ -0,0 +1,5 @@
+[view-timeline-delay.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [View timeline with range set via delays.]
+ 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-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-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-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