Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!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>