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 /testing/web-platform/tests/selection/crashtests | |
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 'testing/web-platform/tests/selection/crashtests')
6 files changed, 144 insertions, 0 deletions
diff --git a/testing/web-platform/tests/selection/crashtests/selectall-and-find-svg-text-on-selectstart.html b/testing/web-platform/tests/selection/crashtests/selectall-and-find-svg-text-on-selectstart.html new file mode 100644 index 0000000000..9f9dfbc938 --- /dev/null +++ b/testing/web-platform/tests/selection/crashtests/selectall-and-find-svg-text-on-selectstart.html @@ -0,0 +1,23 @@ +<!doctype html> +<html class="reftest-wait"> +<head> +<meta charset="utf-8"> +<script> +addEventListener("DOMContentLoaded", () => { + let i = 5; + document.addEventListener("selectstart", () => { + window.find("AAA"); + document.querySelector("li").before(document.querySelector("text")); + if (!(--i)) { + document.documentElement.removeAttribute("class"); + } + }); + document.execCommand("selectAll"); +}, {once: true}); +</script> +<body> +<svg> +<text>AAA</text> +<li> +</li></svg></body> +</html> 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/selection-modify-line-next-to-textarea.html b/testing/web-platform/tests/selection/crashtests/selection-modify-line-next-to-textarea.html new file mode 100644 index 0000000000..b685add01c --- /dev/null +++ b/testing/web-platform/tests/selection/crashtests/selection-modify-line-next-to-textarea.html @@ -0,0 +1,25 @@ +<!doctype html> +<html> +<head> +<meta charset="utf-8"> +<script> +addEventListener("load", () => { + getSelection().collapse(document.querySelector("header"), 1); + getSelection().modify("move", "backward", "line"); + const ruby = document.querySelector("ruby"); + ruby.parentElement.replaceChild(document.createElement("h3"), ruby); + getSelection().modify("extend", "backward", "character"); +}); +</script> +</head> +<body> +<textarea> +</textarea> +<abbr> +<header> +<select autofocus='false'> +<input/> +<sup> +<ruby id='a'> +</body> +</html> diff --git a/testing/web-platform/tests/selection/crashtests/selection-modify-per-word-in-table-header-group.html b/testing/web-platform/tests/selection/crashtests/selection-modify-per-word-in-table-header-group.html new file mode 100644 index 0000000000..66a57381ed --- /dev/null +++ b/testing/web-platform/tests/selection/crashtests/selection-modify-per-word-in-table-header-group.html @@ -0,0 +1,27 @@ +<!doctype html> +<html> +<head> +<meta charset="utf-8"> +<style> +dialog { + display: table-header-group; + translate: -1px 0px 0px; + position: sticky; +} +</style> +<script> +addEventListener("DOMContentLoaded", () => { + window.find("1"); + getSelection().modify("move", "left", "word"); +}, {once: true}); +</script> +</head> +<body> +<dialog> +<span style="position: fixed">1</span> +<table dir="rtl"></table> +<video> +</video> +</dialog> +</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> |