diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
commit | 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch) | |
tree | a31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /layout/generic/crashtests/471360.html | |
parent | Initial commit. (diff) | |
download | firefox-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 'layout/generic/crashtests/471360.html')
-rw-r--r-- | layout/generic/crashtests/471360.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/layout/generic/crashtests/471360.html b/layout/generic/crashtests/471360.html new file mode 100644 index 0000000000..6beb5e5c80 --- /dev/null +++ b/layout/generic/crashtests/471360.html @@ -0,0 +1,61 @@ +<html> +<head> +<script type="text/javascript"> + +var ta, f, tb, s, tc; +var i = 0; + +// This test loops repeatedly through its "boom" functions. We place an upper +// bound on how many loops we'll allow, in case the repeated mutations/paints +// block the test harness from considering the test to be done. +var loopCount = 0; +const maxLoopCount = 20; + +function boom1() +{ + var r = document.body; + while(r.firstChild) + r.removeChild(r.firstChild); + + ta = document.createTextNode("A \u06cc"); + (document.body).appendChild(ta); + f = document.createElement("IFRAME"); + f.style.height = "15em"; + f.src = "data:text/html," + "Iteration " + ++i; + (document.body).appendChild(f); + tb = document.createTextNode(" B "); + (document.body).appendChild(tb); + s = document.createElement("span"); + s.id = "s"; + tc = document.createTextNode(" C "); + (document.body).appendChild(s); + s.appendChild(tc); + + setTimeout(boom2, 10); +} + +function boom2() +{ + var w = document.createElement("style"); + w.setAttribute("type", "text/css"); + w.appendChild(document.createTextNode("body { column-gap: 1px; column-width: 1px; }")); + document.body.appendChild(w); + + setTimeout(boom3, 10); +} + +function boom3() +{ + ta.data = " E " + ta.data; + document.body.removeChild(s); + + if (++loopCount < maxLoopCount) { + setTimeout(boom1, 10); + } +} + +</script> +</head> + +<body onload="boom1();"></body> +</html> |