45 lines
1.1 KiB
HTML
45 lines
1.1 KiB
HTML
<!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>
|