diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/svg/crashtests/1715387.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | dom/svg/crashtests/1715387.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dom/svg/crashtests/1715387.html b/dom/svg/crashtests/1715387.html new file mode 100644 index 0000000000..7de6499f82 --- /dev/null +++ b/dom/svg/crashtests/1715387.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<style> +svg { + width: 10%; + height: 10%; + background: #eee; +} +svg path { + fill: none; + stroke: #000; +} + +</style> +<script> + function run() { + const target = document.createElementNS("http://www.w3.org/2000/svg", "path"); + const root = document.getElementById('svgroot'); + root.appendChild(target); + target.style.d = 'path("M0,0 L2,2")'; + + var m = new MutationObserver(function () { + // This will destroy the oringal document. + document.write("<html><body></body></html>"); + SpecialPowers.forceGC(); + SpecialPowers.forceCC(); + + document.documentElement.classList.remove("reftest-wait"); + }); + + m.observe(target, { attributes: true }); + target.setAttribute("d", "none"); + + // Calling these APIs flushes the style, which may run the script in the + // callback function above that destroys the composed document. + target.getTotalLength(); + target.getPointAtLength(1); + target.isPointInFill({x: 1, y: 1}); + target.isPointInStroke({x: 1, y: 1}); + target.getPathSegAtLength(0); + } +</script> +<body onload="run()"> +<svg viewBox="0 0 20 20" id="svgroot"> +</svg> |