summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/selection/crashtests
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/tests/selection/crashtests
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/tests/selection/crashtests')
-rw-r--r--testing/web-platform/tests/selection/crashtests/selection-clip-crash.html31
-rw-r--r--testing/web-platform/tests/selection/crashtests/selection-modify-around-input.html24
-rw-r--r--testing/web-platform/tests/selection/crashtests/table.html14
3 files changed, 69 insertions, 0 deletions
diff --git a/testing/web-platform/tests/selection/crashtests/selection-clip-crash.html b/testing/web-platform/tests/selection/crashtests/selection-clip-crash.html
new file mode 100644
index 0000000000..66d10b4742
--- /dev/null
+++ b/testing/web-platform/tests/selection/crashtests/selection-clip-crash.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
+<meta name="assert" content="Moving a selection to a different clipper should not crash">
+<html class=reftest-wait>
+ <script>
+ function test() {
+ document.designMode = "on";
+
+ const a = document.getElementById('a');
+ const range = new Range();
+ range.setStart(a, 1);
+ range.setEnd(a, 1);
+ document.getSelection().addRange(range);
+ requestAnimationFrame(function() {
+ requestAnimationFrame(function() {
+ const b = document.getElementById('b');
+ const updated_range = window.getSelection().getRangeAt(0);
+ updated_range.setStart(b, 1);
+ updated_range.setEnd(b, 1);
+
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ });
+ }
+ </script>
+ <body onload=test()>
+ <div id=a style="width: 100px; height: 100px;"> </div>
+ <div id=b style="width: 100px; height: 100px; overflow: clip; margin-top: -100px;"> </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/selection/crashtests/selection-modify-around-input.html b/testing/web-platform/tests/selection/crashtests/selection-modify-around-input.html
new file mode 100644
index 0000000000..24b9ae7d35
--- /dev/null
+++ b/testing/web-platform/tests/selection/crashtests/selection-modify-around-input.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<style>
+div {
+ border: medium solid red;
+ border-width: 32em;
+}
+</style>
+<script>
+document.addEventListener("DOMContentLoaded", () => {
+ document.execCommand("selectAll");
+ getSelection().modify("move", "backward", "character");
+ getSelection().collapseToStart();
+}, {once: true});
+</script>
+</head>
+<body>
+<button contenteditable></button>
+<input value="a">
+<div></div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/selection/crashtests/table.html b/testing/web-platform/tests/selection/crashtests/table.html
new file mode 100644
index 0000000000..36eb803a5c
--- /dev/null
+++ b/testing/web-platform/tests/selection/crashtests/table.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<script>
+ function go() {
+ let b = window.getSelection();
+ b.setPosition(a.insertRow(0), 0)
+ b.modify("extend", "right", "word")
+ }
+</script>
+
+<body onload=go()>
+ <dd dir="rtl">M!}\\)M6\X</dd>
+ <table id="a">
+ <tr>