summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/intersection-observer
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:47:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:47:29 +0000
commit0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch)
treea31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /testing/web-platform/meta/intersection-observer
parentInitial commit. (diff)
downloadfirefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz
firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/meta/intersection-observer')
-rw-r--r--testing/web-platform/meta/intersection-observer/__dir__.ini1
-rw-r--r--testing/web-platform/meta/intersection-observer/bounding-box.html.ini4
-rw-r--r--testing/web-platform/meta/intersection-observer/callback-cross-realm-report-exception.html.ini10
-rw-r--r--testing/web-platform/meta/intersection-observer/client-rect.html.ini4
-rw-r--r--testing/web-platform/meta/intersection-observer/clip-path.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/containing-block.html.ini20
-rw-r--r--testing/web-platform/meta/intersection-observer/cross-document-root.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/cross-origin-iframe.sub.html.ini24
-rw-r--r--testing/web-platform/meta/intersection-observer/disconnect.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/display-none.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/document-scrolling-element-root.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/edge-inclusive-intersection.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/empty-root-margin.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/explicit-root-different-document.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/idlharness.window.js.ini8
-rw-r--r--testing/web-platform/meta/intersection-observer/iframe-no-root-with-wrapping-scroller.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/iframe-no-root.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/initial-observation-with-threshold.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/inline-client-rect.html.ini12
-rw-r--r--testing/web-platform/meta/intersection-observer/inline-with-block-child-client-rect.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/intersection-ratio-ib-split.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-2.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-in-iframe.html.ini8
-rw-r--r--testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/isIntersecting-change-events.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/isIntersecting-threshold.html.ini13
-rw-r--r--testing/web-platform/meta/intersection-observer/multiple-targets.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/multiple-thresholds.html.ini6
-rw-r--r--testing/web-platform/meta/intersection-observer/nested-cross-origin-iframe.sub.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/not-in-containing-block-chain.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/observer-attributes.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/observer-callback-arguments.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/observer-exceptions.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/observer-without-js-reference.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/root-margin-root-element.html.ini18
-rw-r--r--testing/web-platform/meta/intersection-observer/root-margin-rounding.html.ini4
-rw-r--r--testing/web-platform/meta/intersection-observer/root-margin.html.ini18
-rw-r--r--testing/web-platform/meta/intersection-observer/rtl-clipped-root.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/same-document-no-root.html.ini6
-rw-r--r--testing/web-platform/meta/intersection-observer/same-document-root.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/same-document-with-document-root.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/same-document-zero-size-target.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/same-origin-grand-child-iframe.sub.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/shadow-content.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/target-in-detached-document.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/target-in-different-window.html.ini6
-rw-r--r--testing/web-platform/meta/intersection-observer/target-is-root.html.ini6
-rw-r--r--testing/web-platform/meta/intersection-observer/text-target.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/timestamp.html.ini6
-rw-r--r--testing/web-platform/meta/intersection-observer/unclipped-root.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/blur-filter.html.ini7
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/box-shadow.html.ini10
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/cross-origin-effects.sub.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/cross-origin-occlusion.sub.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/delay-test.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/drop-shadow-filter-vertical-rl.html.ini8
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/iframe-target.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/inline-occlusion.html.ini11
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/position-relative.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/scaled-target.html.ini5
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/simple-effects.html.ini14
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/simple-occlusion-svg-foreign-object.html.ini11
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/simple-occlusion.html.ini11
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/text-editor-occlusion.html.ini11
-rw-r--r--testing/web-platform/meta/intersection-observer/v2/text-shadow.html.ini11
-rw-r--r--testing/web-platform/meta/intersection-observer/zero-area-element-hidden.html.ini3
-rw-r--r--testing/web-platform/meta/intersection-observer/zero-area-element-visible.html.ini3
67 files changed, 408 insertions, 0 deletions
diff --git a/testing/web-platform/meta/intersection-observer/__dir__.ini b/testing/web-platform/meta/intersection-observer/__dir__.ini
new file mode 100644
index 0000000000..20fc98f0ef
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/__dir__.ini
@@ -0,0 +1 @@
+leak-threshold: [default:3020800]
diff --git a/testing/web-platform/meta/intersection-observer/bounding-box.html.ini b/testing/web-platform/meta/intersection-observer/bounding-box.html.ini
new file mode 100644
index 0000000000..8ac1a0fac5
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/bounding-box.html.ini
@@ -0,0 +1,4 @@
+[bounding-box.html]
+ [target.style.zoom = 2]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/intersection-observer/callback-cross-realm-report-exception.html.ini b/testing/web-platform/meta/intersection-observer/callback-cross-realm-report-exception.html.ini
new file mode 100644
index 0000000000..566c20b901
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/callback-cross-realm-report-exception.html.ini
@@ -0,0 +1,10 @@
+[callback-cross-realm-report-exception.html]
+ [IntersectionObserver reports the exception from its callback in the callback's global object]
+ expected:
+ if debug and (os == "linux") and swgl and not fission: PASS
+ if debug and (os == "android") and not swgl: FAIL
+ if debug and (os == "android") and swgl: PASS
+ if debug and (os == "win") and swgl: PASS
+ if debug and (os == "linux") and not swgl: [FAIL, PASS]
+ if debug and (os == "mac"): PASS
+ [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/client-rect.html.ini b/testing/web-platform/meta/intersection-observer/client-rect.html.ini
new file mode 100644
index 0000000000..ac09a8a41a
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/client-rect.html.ini
@@ -0,0 +1,4 @@
+[client-rect.html]
+ [First rAF should generate notification.]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/clip-path.html.ini b/testing/web-platform/meta/intersection-observer/clip-path.html.ini
new file mode 100644
index 0000000000..8a953e2b4b
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/clip-path.html.ini
@@ -0,0 +1,3 @@
+[clip-path.html]
+ [clip-path]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/containing-block.html.ini b/testing/web-platform/meta/intersection-observer/containing-block.html.ini
new file mode 100644
index 0000000000..7370a77f86
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/containing-block.html.ini
@@ -0,0 +1,20 @@
+[containing-block.html]
+ [Not in containing block and not intersecting.]
+ expected:
+ if (os == "android") and debug and swgl: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [Not in containing block and intersecting.]
+ expected:
+ if (os == "android") and debug and swgl: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [In containing block and intersecting.]
+ expected:
+ if (os == "android") and debug and swgl: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [In containing block and not intersecting.]
+ expected:
+ if (os == "android") and debug and swgl: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/cross-document-root.html.ini b/testing/web-platform/meta/intersection-observer/cross-document-root.html.ini
new file mode 100644
index 0000000000..aa7577f88c
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/cross-document-root.html.ini
@@ -0,0 +1,3 @@
+[cross-document-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/cross-origin-iframe.sub.html.ini b/testing/web-platform/meta/intersection-observer/cross-origin-iframe.sub.html.ini
new file mode 100644
index 0000000000..c561cf0204
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/cross-origin-iframe.sub.html.ini
@@ -0,0 +1,24 @@
+[cross-origin-iframe.sub.html]
+ [First rAF]
+ expected:
+ if not fission and debug and (os == "linux"): [PASS, FAIL]
+ if not fission and debug and (os == "android"): PASS
+ if not fission and not debug: [PASS, FAIL]
+ FAIL
+
+ [topDocument.scrollingElement.scrollTop = 100]
+ expected:
+ if not fission: PASS
+ FAIL
+
+ [iframeDocument.scrollingElement.scrollTop = 250]
+ expected:
+ if (os == "linux") and fission and not debug and (processor == "x86_64"): [PASS, FAIL]
+ if (os == "linux") and fission and not debug and (processor == "x86"): [PASS, FAIL]
+ if (os == "linux") and fission and debug: [PASS, FAIL]
+
+ [topDocument.scrollingElement.scrollTop = 200]
+ expected:
+ if (os == "linux") and fission and not debug and (processor == "x86_64"): [PASS, FAIL]
+ if (os == "linux") and fission and not debug and (processor == "x86"): [PASS, FAIL]
+ if (os == "linux") and fission and debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/disconnect.html.ini b/testing/web-platform/meta/intersection-observer/disconnect.html.ini
new file mode 100644
index 0000000000..901630e4c4
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/disconnect.html.ini
@@ -0,0 +1,3 @@
+[disconnect.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/display-none.html.ini b/testing/web-platform/meta/intersection-observer/display-none.html.ini
new file mode 100644
index 0000000000..d47352caef
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/display-none.html.ini
@@ -0,0 +1,3 @@
+[display-none.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/document-scrolling-element-root.html.ini b/testing/web-platform/meta/intersection-observer/document-scrolling-element-root.html.ini
new file mode 100644
index 0000000000..986103a8b2
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/document-scrolling-element-root.html.ini
@@ -0,0 +1,3 @@
+[document-scrolling-element-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/edge-inclusive-intersection.html.ini b/testing/web-platform/meta/intersection-observer/edge-inclusive-intersection.html.ini
new file mode 100644
index 0000000000..c4be098400
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/edge-inclusive-intersection.html.ini
@@ -0,0 +1,3 @@
+[edge-inclusive-intersection.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/empty-root-margin.html.ini b/testing/web-platform/meta/intersection-observer/empty-root-margin.html.ini
new file mode 100644
index 0000000000..20442aa107
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/empty-root-margin.html.ini
@@ -0,0 +1,3 @@
+[empty-root-margin.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/explicit-root-different-document.tentative.html.ini b/testing/web-platform/meta/intersection-observer/explicit-root-different-document.tentative.html.ini
new file mode 100644
index 0000000000..8801c76be7
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/explicit-root-different-document.tentative.html.ini
@@ -0,0 +1,3 @@
+[explicit-root-different-document.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/idlharness.window.js.ini b/testing/web-platform/meta/intersection-observer/idlharness.window.js.ini
new file mode 100644
index 0000000000..f1fabd7a3a
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/idlharness.window.js.ini
@@ -0,0 +1,8 @@
+[idlharness.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [IntersectionObserverEntry interface object length]
+ expected: FAIL
+
+ [IntersectionObserver interface: observer must inherit property "thresholds" with the proper type]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/iframe-no-root-with-wrapping-scroller.html.ini b/testing/web-platform/meta/intersection-observer/iframe-no-root-with-wrapping-scroller.html.ini
new file mode 100644
index 0000000000..7134daa510
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/iframe-no-root-with-wrapping-scroller.html.ini
@@ -0,0 +1,3 @@
+[iframe-no-root-with-wrapping-scroller.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/iframe-no-root.html.ini b/testing/web-platform/meta/intersection-observer/iframe-no-root.html.ini
new file mode 100644
index 0000000000..29ef0c61bc
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/iframe-no-root.html.ini
@@ -0,0 +1,3 @@
+[iframe-no-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/initial-observation-with-threshold.html.ini b/testing/web-platform/meta/intersection-observer/initial-observation-with-threshold.html.ini
new file mode 100644
index 0000000000..828620cd9e
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/initial-observation-with-threshold.html.ini
@@ -0,0 +1,5 @@
+[initial-observation-with-threshold.html]
+ [First rAF]
+ expected:
+ if (os == "android") and debug and swgl: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/inline-client-rect.html.ini b/testing/web-platform/meta/intersection-observer/inline-client-rect.html.ini
new file mode 100644
index 0000000000..ef36ed4635
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/inline-client-rect.html.ini
@@ -0,0 +1,12 @@
+[inline-client-rect.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF]
+ expected:
+ if os == "android": FAIL
+ if os == "mac": FAIL
+
+ [scroller.scrollLeft = 90]
+ expected:
+ if os == "android": FAIL
+ if os == "mac": FAIL
diff --git a/testing/web-platform/meta/intersection-observer/inline-with-block-child-client-rect.html.ini b/testing/web-platform/meta/intersection-observer/inline-with-block-child-client-rect.html.ini
new file mode 100644
index 0000000000..cad053a670
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/inline-with-block-child-client-rect.html.ini
@@ -0,0 +1,3 @@
+[inline-with-block-child-client-rect.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/intersection-ratio-ib-split.html.ini b/testing/web-platform/meta/intersection-observer/intersection-ratio-ib-split.html.ini
new file mode 100644
index 0000000000..320b06c80c
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/intersection-ratio-ib-split.html.ini
@@ -0,0 +1,3 @@
+[intersection-ratio-ib-split.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-2.html.ini b/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-2.html.ini
new file mode 100644
index 0000000000..e50c92209c
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-2.html.ini
@@ -0,0 +1,3 @@
+[intersection-ratio-with-fractional-bounds-2.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-in-iframe.html.ini b/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-in-iframe.html.ini
new file mode 100644
index 0000000000..b08dc161d9
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds-in-iframe.html.ini
@@ -0,0 +1,8 @@
+[intersection-ratio-with-fractional-bounds-in-iframe.html]
+ [intersectionRatio in iframe should be 1 for totally visible target with fractional bounds]
+ expected:
+ if fission and not debug and (os == "win") and (processor == "x86_64"): [PASS, FAIL]
+ if fission and not debug and (os == "win") and (processor == "x86"): [PASS, FAIL]
+ if fission and not debug and (os == "linux"): [PASS, FAIL]
+ if fission and not debug and (os == "mac"): [PASS, FAIL]
+ if fission and debug and (os == "win"): [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds.html.ini b/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds.html.ini
new file mode 100644
index 0000000000..21d2417fab
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/intersection-ratio-with-fractional-bounds.html.ini
@@ -0,0 +1,3 @@
+[intersection-ratio-with-fractional-bounds.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/isIntersecting-change-events.html.ini b/testing/web-platform/meta/intersection-observer/isIntersecting-change-events.html.ini
new file mode 100644
index 0000000000..ae7ce57d7b
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/isIntersecting-change-events.html.ini
@@ -0,0 +1,5 @@
+[isIntersecting-change-events.html]
+ [Rects in initial notifications should report initial positions.]
+ expected:
+ if (os == "android") and not swgl and not debug: [PASS, FAIL]
+ if (os == "android") and swgl: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/isIntersecting-threshold.html.ini b/testing/web-platform/meta/intersection-observer/isIntersecting-threshold.html.ini
new file mode 100644
index 0000000000..36bba2fe82
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/isIntersecting-threshold.html.ini
@@ -0,0 +1,13 @@
+[isIntersecting-threshold.html]
+ [Scrolled to half way through target element]
+ expected:
+ if (os == "linux") and debug and not fission and not swgl: [PASS, FAIL]
+ if (os == "android") and swgl: [PASS, FAIL]
+
+ [Scrolled to target element completely off screen]
+ expected:
+ if not fission and (os == "linux") and debug and not swgl: [PASS, FAIL]
+
+ [At initial scroll position]
+ expected:
+ if not fission and (os == "linux") and debug and not swgl: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/multiple-targets.html.ini b/testing/web-platform/meta/intersection-observer/multiple-targets.html.ini
new file mode 100644
index 0000000000..23246907a0
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/multiple-targets.html.ini
@@ -0,0 +1,3 @@
+[multiple-targets.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/multiple-thresholds.html.ini b/testing/web-platform/meta/intersection-observer/multiple-thresholds.html.ini
new file mode 100644
index 0000000000..fd5d247a8e
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/multiple-thresholds.html.ini
@@ -0,0 +1,6 @@
+[multiple-thresholds.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/nested-cross-origin-iframe.sub.html.ini b/testing/web-platform/meta/intersection-observer/nested-cross-origin-iframe.sub.html.ini
new file mode 100644
index 0000000000..e14e7728a9
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/nested-cross-origin-iframe.sub.html.ini
@@ -0,0 +1,3 @@
+[nested-cross-origin-iframe.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/not-in-containing-block-chain.tentative.html.ini b/testing/web-platform/meta/intersection-observer/not-in-containing-block-chain.tentative.html.ini
new file mode 100644
index 0000000000..10580a1091
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/not-in-containing-block-chain.tentative.html.ini
@@ -0,0 +1,3 @@
+[not-in-containing-block-chain.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/observer-attributes.html.ini b/testing/web-platform/meta/intersection-observer/observer-attributes.html.ini
new file mode 100644
index 0000000000..0f95d7c417
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/observer-attributes.html.ini
@@ -0,0 +1,5 @@
+[observer-attributes.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [empty observer.thresholds]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/observer-callback-arguments.html.ini b/testing/web-platform/meta/intersection-observer/observer-callback-arguments.html.ini
new file mode 100644
index 0000000000..b9374b9bd2
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/observer-callback-arguments.html.ini
@@ -0,0 +1,3 @@
+[observer-callback-arguments.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/observer-exceptions.html.ini b/testing/web-platform/meta/intersection-observer/observer-exceptions.html.ini
new file mode 100644
index 0000000000..382bca1d81
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/observer-exceptions.html.ini
@@ -0,0 +1,3 @@
+[observer-exceptions.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/observer-without-js-reference.html.ini b/testing/web-platform/meta/intersection-observer/observer-without-js-reference.html.ini
new file mode 100644
index 0000000000..da3c6f9907
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/observer-without-js-reference.html.ini
@@ -0,0 +1,3 @@
+[observer-without-js-reference.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/root-margin-root-element.html.ini b/testing/web-platform/meta/intersection-observer/root-margin-root-element.html.ini
new file mode 100644
index 0000000000..360565e62f
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/root-margin-root-element.html.ini
@@ -0,0 +1,18 @@
+[root-margin-root-element.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [root.scrollTop = 0]
+ expected:
+ if os == "android": FAIL
+
+ [root.scrollTop = 50 with root scrolled out of view.]
+ expected:
+ if os == "android": FAIL
+
+ [First rAF]
+ expected:
+ if os == "android": FAIL
+
+ [root.scrollTop = 50, putting target into root margin]
+ expected:
+ if os == "android": FAIL
diff --git a/testing/web-platform/meta/intersection-observer/root-margin-rounding.html.ini b/testing/web-platform/meta/intersection-observer/root-margin-rounding.html.ini
new file mode 100644
index 0000000000..d7e4b2c3a4
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/root-margin-rounding.html.ini
@@ -0,0 +1,4 @@
+[root-margin-rounding.html]
+ [IntersectionObserver root margin cannot end up with negative rect (and thus non-intersecting) due to rounding]
+ expected:
+ if (os == "linux") and not fission and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/root-margin.html.ini b/testing/web-platform/meta/intersection-observer/root-margin.html.ini
new file mode 100644
index 0000000000..6246ef18bb
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/root-margin.html.ini
@@ -0,0 +1,18 @@
+[root-margin.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [document.scrollingElement.scrollLeft = 100]
+ expected:
+ if os == "android": FAIL
+
+ [First rAF.]
+ expected:
+ if os == "android": FAIL
+
+ [document.scrollingElement.scrollTop = document.documentElement.clientHeight + 300]
+ expected:
+ if os == "android": FAIL
+
+ [document.scrollingElement.scrollTop = document.documentElement.clientHeight + 200]
+ expected:
+ if os == "android": FAIL
diff --git a/testing/web-platform/meta/intersection-observer/rtl-clipped-root.html.ini b/testing/web-platform/meta/intersection-observer/rtl-clipped-root.html.ini
new file mode 100644
index 0000000000..7f44c304c0
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/rtl-clipped-root.html.ini
@@ -0,0 +1,5 @@
+[rtl-clipped-root.html]
+ [First rAF]
+ expected:
+ if (os == "android") and debug and swgl: [PASS, FAIL]
+ if (os == "android") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/same-document-no-root.html.ini b/testing/web-platform/meta/intersection-observer/same-document-no-root.html.ini
new file mode 100644
index 0000000000..21c5b954e5
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/same-document-no-root.html.ini
@@ -0,0 +1,6 @@
+[same-document-no-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/same-document-root.html.ini b/testing/web-platform/meta/intersection-observer/same-document-root.html.ini
new file mode 100644
index 0000000000..dfdb42e10c
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/same-document-root.html.ini
@@ -0,0 +1,5 @@
+[same-document-root.html]
+ [First rAF]
+ expected:
+ if (os == "android") and not swgl and not debug: [PASS, FAIL]
+ if (os == "android") and swgl: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/same-document-with-document-root.html.ini b/testing/web-platform/meta/intersection-observer/same-document-with-document-root.html.ini
new file mode 100644
index 0000000000..41d1e4ef1d
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/same-document-with-document-root.html.ini
@@ -0,0 +1,3 @@
+[same-document-with-document-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/same-document-zero-size-target.html.ini b/testing/web-platform/meta/intersection-observer/same-document-zero-size-target.html.ini
new file mode 100644
index 0000000000..d581697f29
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/same-document-zero-size-target.html.ini
@@ -0,0 +1,3 @@
+[same-document-zero-size-target.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/same-origin-grand-child-iframe.sub.html.ini b/testing/web-platform/meta/intersection-observer/same-origin-grand-child-iframe.sub.html.ini
new file mode 100644
index 0000000000..df759f982d
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/same-origin-grand-child-iframe.sub.html.ini
@@ -0,0 +1,3 @@
+[same-origin-grand-child-iframe.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/shadow-content.html.ini b/testing/web-platform/meta/intersection-observer/shadow-content.html.ini
new file mode 100644
index 0000000000..ef1ecd39a7
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/shadow-content.html.ini
@@ -0,0 +1,3 @@
+[shadow-content.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/target-in-detached-document.html.ini b/testing/web-platform/meta/intersection-observer/target-in-detached-document.html.ini
new file mode 100644
index 0000000000..8a3503e904
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/target-in-detached-document.html.ini
@@ -0,0 +1,3 @@
+[target-in-detached-document.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/target-in-different-window.html.ini b/testing/web-platform/meta/intersection-observer/target-in-different-window.html.ini
new file mode 100644
index 0000000000..3520556f94
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/target-in-different-window.html.ini
@@ -0,0 +1,6 @@
+[target-in-different-window.html]
+ bug: https://github.com/w3c/IntersectionObserver/issues/456
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [IntersectionObserver with target in a different window.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/target-is-root.html.ini b/testing/web-platform/meta/intersection-observer/target-is-root.html.ini
new file mode 100644
index 0000000000..cc86137e2d
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/target-is-root.html.ini
@@ -0,0 +1,6 @@
+[target-is-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [IntersectionObserver when root == target doesn't compute an intersection]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/text-target.html.ini b/testing/web-platform/meta/intersection-observer/text-target.html.ini
new file mode 100644
index 0000000000..06db863c6e
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/text-target.html.ini
@@ -0,0 +1,3 @@
+[text-target.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/timestamp.html.ini b/testing/web-platform/meta/intersection-observer/timestamp.html.ini
new file mode 100644
index 0000000000..496019622e
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/timestamp.html.ini
@@ -0,0 +1,6 @@
+prefs: [privacy.reduceTimerPrecision:false]
+[timestamp.html]
+ [Generate notifications.]
+ expected:
+ if (os == "android") and debug and not swgl: [FAIL, PASS]
+ [PASS, FAIL]
diff --git a/testing/web-platform/meta/intersection-observer/unclipped-root.html.ini b/testing/web-platform/meta/intersection-observer/unclipped-root.html.ini
new file mode 100644
index 0000000000..87d8bd8c05
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/unclipped-root.html.ini
@@ -0,0 +1,3 @@
+[unclipped-root.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/v2/blur-filter.html.ini b/testing/web-platform/meta/intersection-observer/v2/blur-filter.html.ini
new file mode 100644
index 0000000000..d81619b014
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/blur-filter.html.ini
@@ -0,0 +1,7 @@
+[blur-filter.html]
+ [First rAF.]
+ expected: FAIL
+
+ [occluder.style.opacity = 0]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/intersection-observer/v2/box-shadow.html.ini b/testing/web-platform/meta/intersection-observer/v2/box-shadow.html.ini
new file mode 100644
index 0000000000..f34028ed2a
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/box-shadow.html.ini
@@ -0,0 +1,10 @@
+[box-shadow.html]
+ [occluder.style.boxShadow = ""]
+ expected: FAIL
+
+ [First rAF.]
+ expected: FAIL
+
+ [occluder.style.boxShadow = "none"]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/intersection-observer/v2/cross-origin-effects.sub.html.ini b/testing/web-platform/meta/intersection-observer/v2/cross-origin-effects.sub.html.ini
new file mode 100644
index 0000000000..bef91f5150
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/cross-origin-effects.sub.html.ini
@@ -0,0 +1,5 @@
+[cross-origin-effects.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Intersection observer V2 test with visual effects on iframe.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/cross-origin-occlusion.sub.html.ini b/testing/web-platform/meta/intersection-observer/v2/cross-origin-occlusion.sub.html.ini
new file mode 100644
index 0000000000..10ca5a1341
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/cross-origin-occlusion.sub.html.ini
@@ -0,0 +1,3 @@
+[cross-origin-occlusion.sub.html]
+ [Intersection observer V2 test with occlusion of target in iframe.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/delay-test.html.ini b/testing/web-platform/meta/intersection-observer/v2/delay-test.html.ini
new file mode 100644
index 0000000000..5976d982f2
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/delay-test.html.ini
@@ -0,0 +1,5 @@
+[delay-test.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ['delay' parameter throttles frequency of notifications.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/drop-shadow-filter-vertical-rl.html.ini b/testing/web-platform/meta/intersection-observer/v2/drop-shadow-filter-vertical-rl.html.ini
new file mode 100644
index 0000000000..daf4462aa3
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/drop-shadow-filter-vertical-rl.html.ini
@@ -0,0 +1,8 @@
+[drop-shadow-filter-vertical-rl.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
+
+ [occluder.style.opacity = 0]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/iframe-target.html.ini b/testing/web-platform/meta/intersection-observer/v2/iframe-target.html.ini
new file mode 100644
index 0000000000..182a708dd7
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/iframe-target.html.ini
@@ -0,0 +1,5 @@
+[iframe-target.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/inline-occlusion.html.ini b/testing/web-platform/meta/intersection-observer/v2/inline-occlusion.html.ini
new file mode 100644
index 0000000000..4ecd0f7869
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/inline-occlusion.html.ini
@@ -0,0 +1,11 @@
+[inline-occlusion.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
+
+ [occluder.style.marginTop = '-10px']
+ expected: FAIL
+
+ [occluder.style.opacity = 0]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/position-relative.html.ini b/testing/web-platform/meta/intersection-observer/v2/position-relative.html.ini
new file mode 100644
index 0000000000..b2a623045b
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/position-relative.html.ini
@@ -0,0 +1,5 @@
+[position-relative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/scaled-target.html.ini b/testing/web-platform/meta/intersection-observer/v2/scaled-target.html.ini
new file mode 100644
index 0000000000..7aa0fd1e1e
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/scaled-target.html.ini
@@ -0,0 +1,5 @@
+[scaled-target.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [IntersectionObserver V2 test with scale applied to target.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/simple-effects.html.ini b/testing/web-platform/meta/intersection-observer/v2/simple-effects.html.ini
new file mode 100644
index 0000000000..e5df55c7a1
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/simple-effects.html.ini
@@ -0,0 +1,14 @@
+[simple-effects.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [effects.style.filter = grayscale(50%)]
+ expected: FAIL
+
+ [effects.style.opacity = 1]
+ expected: FAIL
+
+ [effects.style.opacity = 0.99]
+ expected: FAIL
+
+ [First rAF.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/simple-occlusion-svg-foreign-object.html.ini b/testing/web-platform/meta/intersection-observer/v2/simple-occlusion-svg-foreign-object.html.ini
new file mode 100644
index 0000000000..70134c2111
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/simple-occlusion-svg-foreign-object.html.ini
@@ -0,0 +1,11 @@
+[simple-occlusion-svg-foreign-object.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
+
+ [svg.style.marginTop = '-10px']
+ expected: FAIL
+
+ [occluder.style.opacity = 0]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/simple-occlusion.html.ini b/testing/web-platform/meta/intersection-observer/v2/simple-occlusion.html.ini
new file mode 100644
index 0000000000..b6fa03d87a
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/simple-occlusion.html.ini
@@ -0,0 +1,11 @@
+[simple-occlusion.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
+
+ [occluder.style.marginTop = '-10px']
+ expected: FAIL
+
+ [occluder.style.opacity = 0]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/text-editor-occlusion.html.ini b/testing/web-platform/meta/intersection-observer/v2/text-editor-occlusion.html.ini
new file mode 100644
index 0000000000..cd1a18a025
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/text-editor-occlusion.html.ini
@@ -0,0 +1,11 @@
+[text-editor-occlusion.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [First rAF.]
+ expected: FAIL
+
+ [occluder.style.marginTop = '-10px']
+ expected: FAIL
+
+ [occluder.style.opacity = 0]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/v2/text-shadow.html.ini b/testing/web-platform/meta/intersection-observer/v2/text-shadow.html.ini
new file mode 100644
index 0000000000..35093a3195
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/v2/text-shadow.html.ini
@@ -0,0 +1,11 @@
+[text-shadow.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [occluder.style.textShadow = ""]
+ expected: FAIL
+
+ [occluder.style.textShadow = "none"]
+ expected: FAIL
+
+ [First rAF.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/intersection-observer/zero-area-element-hidden.html.ini b/testing/web-platform/meta/intersection-observer/zero-area-element-hidden.html.ini
new file mode 100644
index 0000000000..d317d1f62a
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/zero-area-element-hidden.html.ini
@@ -0,0 +1,3 @@
+[zero-area-element-hidden.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/intersection-observer/zero-area-element-visible.html.ini b/testing/web-platform/meta/intersection-observer/zero-area-element-visible.html.ini
new file mode 100644
index 0000000000..bb7ed8de0a
--- /dev/null
+++ b/testing/web-platform/meta/intersection-observer/zero-area-element-visible.html.ini
@@ -0,0 +1,3 @@
+[zero-area-element-visible.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]