diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /layout/generic/crashtests/471360.html | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
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> |