30 lines
952 B
HTML
30 lines
952 B
HTML
<script>
|
|
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
function nestedSubtreeMutations(...callbacks) {
|
|
const nextCallback = callbacks.shift();
|
|
if (!nextCallback)
|
|
return;
|
|
g.addEventListener("DOMSubtreeModified", () => {
|
|
nestedSubtreeMutations(...callbacks);
|
|
}, {once: true});
|
|
nextCallback();
|
|
}
|
|
|
|
onload = () => {
|
|
nestedSubtreeMutations(
|
|
() => g.setAttribute("stroke", "blue"),
|
|
() => document.execCommand("usecss", false),
|
|
() => tspan.appendChild(document.createElement('rect')),
|
|
() => document.execCommand("usecss", false),
|
|
() => g.setAttribute("onclick", "var00063"));
|
|
document.body.innerText = `This tests mutating SVG symbol element's subtree referenced by a SVG use element inside a event queue scope.
|
|
WebKit should not hit any assertions or crash.
|
|
|
|
PASS.`;
|
|
}
|
|
</script>
|
|
<svg><symbol id="symbol1"><g id="g"><tspan id="tspan"/></symbol><use href="#symbol1" />
|