summaryrefslogtreecommitdiffstats
path: root/dom/base/test/file_toScreenRect.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/base/test/file_toScreenRect.html
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/base/test/file_toScreenRect.html')
-rw-r--r--dom/base/test/file_toScreenRect.html48
1 files changed, 48 insertions, 0 deletions
diff --git a/dom/base/test/file_toScreenRect.html b/dom/base/test/file_toScreenRect.html
new file mode 100644
index 0000000000..990d9326f2
--- /dev/null
+++ b/dom/base/test/file_toScreenRect.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1">
+<link rel="stylesheet" href="/tests/SimpleTest/test.css" />
+<style>
+html,body {
+ margin: 0;
+ padding: 0;
+}
+#target {
+ position: absolute;
+ top: 150px;
+ left: 150px;
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+}
+</style>
+<div id="target"></div>
+<script>
+const isfuzzy = opener.isfuzzy.bind(opener);
+const add_task = opener.add_task.bind(opener);
+const original_finish = opener.SimpleTest.finish;
+const SimpleTest = opener.SimpleTest;
+SimpleTest.finish = function finish() {
+ self.close();
+ original_finish();
+};
+add_task(async () => {
+ await SpecialPowers.pushPrefEnv({'set': [['layout.css.devPixelsPerPx', 1.5]]});
+ SpecialPowers.setFullZoom(window, 2.0);
+
+ const rect = target.getBoundingClientRect();
+ const screenPixelsPerCSSPixel = window.devicePixelRatio;
+
+ let rectOnScreen =
+ SpecialPowers.DOMWindowUtils.toScreenRect(rect.x, rect.y, rect.width, rect.height);
+ isfuzzy(rectOnScreen.x,
+ rect.x * screenPixelsPerCSSPixel +
+ window.mozInnerScreenX * screenPixelsPerCSSPixel, 0.01, "x");
+ isfuzzy(rectOnScreen.y,
+ rect.y * screenPixelsPerCSSPixel +
+ window.mozInnerScreenY * screenPixelsPerCSSPixel, 0.01, "y");
+
+ isfuzzy(rectOnScreen.width, rect.width * screenPixelsPerCSSPixel, 0.01, "width");
+ isfuzzy(rectOnScreen.height, rect.height * screenPixelsPerCSSPixel, 0.01, "height");
+});
+</script>