diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /layout/generic/test/test_overlay_scrollbar_position.html | |
parent | Initial commit. (diff) | |
download | firefox-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 'layout/generic/test/test_overlay_scrollbar_position.html')
-rw-r--r-- | layout/generic/test/test_overlay_scrollbar_position.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/layout/generic/test/test_overlay_scrollbar_position.html b/layout/generic/test/test_overlay_scrollbar_position.html new file mode 100644 index 0000000000..b70a0e7aa4 --- /dev/null +++ b/layout/generic/test/test_overlay_scrollbar_position.html @@ -0,0 +1,42 @@ +<!doctype html> +<meta charset="utf-8"> +<title>Test for overlay scrollbar positions</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<link rel="stylesheet" href="/tests/SimpleTest/test.css"> +<style> + div { + width: 100px; + height: 100px; + } +</style> +<div style="overflow-x: scroll" data-expected-bottom></div> +<div style="overflow-y: scroll" data-expected-right></div> +<div style="overflow-y: scroll" dir="rtl" data-expected-left></div> +<script> +add_task(async function() { + await SpecialPowers.pushPrefEnv({ + set: [["ui.useOverlayScrollbars", 1]], + }); + for (let div of document.querySelectorAll("div")) { + let rect = div.getBoundingClientRect(); + let kids = SpecialPowers.InspectorUtils.getChildrenForNode( + div, + /* anonymous = */ true, + false + ); + is(kids.length, 3, "Should create both horizontal and vertical scrollbars, and a scrollcorner"); + for (let attr of ["top", "left", "bottom", "right"]) { + if (!div.hasAttribute(`data-expected-${attr}`)) { + continue; + } + let vertical = attr == "left" || attr == "right"; + let scrollbar = kids[vertical ? 1 : 0]; + is(scrollbar.tagName, "scrollbar", "Should find scrollbar"); + is(scrollbar.getAttribute("orient"), vertical ? "vertical" : "horizontal", "Should be the right scrollbar"); + let scrollbarRect = scrollbar.getBoundingClientRect(); + let diff = scrollbarRect[attr] - rect[attr]; + is(diff, 0, `Scrollbar should be at ${attr}: ${scrollbarRect[attr]} vs. ${rect[attr]}`); + } + } +}); +</script> |