summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/intersection-observer/padding-clip.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/intersection-observer/padding-clip.html
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/intersection-observer/padding-clip.html')
-rw-r--r--testing/web-platform/tests/intersection-observer/padding-clip.html45
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/web-platform/tests/intersection-observer/padding-clip.html b/testing/web-platform/tests/intersection-observer/padding-clip.html
new file mode 100644
index 0000000000..0126304d64
--- /dev/null
+++ b/testing/web-platform/tests/intersection-observer/padding-clip.html
@@ -0,0 +1,45 @@
+<!doctype html>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<title>Scrollport is used rather than content rect to compute intersection ratio</title>
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<link rel="help" href="https://github.com/w3c/IntersectionObserver/issues/504">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+#root {
+ overflow: hidden;
+ position: relative;
+ box-sizing: border-box;
+ width: 100px;
+ height: 100px;
+ padding: 10px;
+}
+#target {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ /* Shift into the padding area */
+ position: relative;
+ left: -10px;
+ top: -10px;
+}
+</style>
+<div id="root">
+ <div id="target"></div>
+</div>
+<script>
+promise_test(async function(t) {
+ const target = document.getElementById("target");
+ assert_true(!!target, "target exists");
+ const root = document.getElementById("root");
+ assert_true(!!root, "root exists");
+ const entries = await new Promise(resolve => {
+ const observer = new IntersectionObserver(resolve, { root });
+ observer.observe(target);
+ });
+ assert_equals(entries.length, 1, "Should have one entry.");
+ assert_equals(entries[0].intersectionRatio, 1, "Should be completely visible.");
+});
+</script>