37 lines
1.1 KiB
HTML
37 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
|
|
let svgElement;
|
|
function moveIframe(svgDoc) {
|
|
if (svgElement)
|
|
return;
|
|
svgElement = svgDoc.documentElement;
|
|
const iframe = document.createElement('iframe');
|
|
svgDoc.documentElement.appendChild(iframe);
|
|
iframe.contentWindow.onunload = () => {
|
|
document.body.appendChild(svgElement);
|
|
}
|
|
}
|
|
|
|
const content = `<svg xmlns="http://www.w3.org/2000/svg"><script>parent.moveIframe(document);<\/script><element a="1" a="2"/></svg>`;
|
|
const iframe = document.createElement('iframe');
|
|
iframe.src = URL.createObjectURL(new Blob([content], {type: 'text/xml'}));
|
|
document.documentElement.appendChild(iframe);
|
|
|
|
window.onload = () => {
|
|
let test = async_test('An element removed by the adoption agency algorithm must not be inserted if it had been inserted elsewhere');
|
|
test.step(() => {
|
|
assert_equals(svgElement.parentNode, document.body);
|
|
svgElement.remove();
|
|
});
|
|
test.done();
|
|
}
|
|
|
|
</script>
|
|
</body>
|