summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mathml/support/box-navigation.js
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/tests/mathml/support/box-navigation.js
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/tests/mathml/support/box-navigation.js')
-rw-r--r--testing/web-platform/tests/mathml/support/box-navigation.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mathml/support/box-navigation.js b/testing/web-platform/tests/mathml/support/box-navigation.js
new file mode 100644
index 0000000000..f4897cfe99
--- /dev/null
+++ b/testing/web-platform/tests/mathml/support/box-navigation.js
@@ -0,0 +1,29 @@
+function IsInFlow(element) {
+ var style = window.getComputedStyle(element);
+ return style.getPropertyValue("display") !== "none" &&
+ style.getPropertyValue("position") !== "absolute" &&
+ style.getPropertyValue("position") !== "fixed";
+}
+
+function firstInFlowChild(element) {
+ var child = element.firstElementChild;
+ if (!child || IsInFlow(child))
+ return child;
+ return nextInFlowSibling(child);
+}
+
+function nextInFlowSibling(element) {
+ var child = element;
+ do {
+ child = child.nextElementSibling;
+ } while (child && !IsInFlow(child));
+ return child;
+}
+
+function previousInFlowSibling(element) {
+ var child = element;
+ do {
+ child = child.previousElementSibling;
+ } while (child && !IsInFlow(child));
+ return child;
+}