blob: 67f11dd453f8e12e346d44901edac69dfd72db30 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<p>This tests inserting or removing shadow tree with slot elements do not cause a crash.</p>
<script>
if (window.testRunner)
testRunner.dumpAsText();
function addShadowWithSlot() {
var host = document.createElement('div');
var shadowRoot = host.attachShadow({mode: 'open'});
var slot = document.createElement('slot');
shadowRoot.appendChild(slot);
document.body.appendChild(host);
slot.remove();
slot.setAttribute('name', 'foo');
}
function removeShadowWithSlot() {
var container = document.createElement('div');
document.body.appendChild(container);
var host = document.createElement('div');
container.appendChild(host);
var shadowRoot = host.attachShadow({mode: 'open'});
var slot = document.createElement('slot');
shadowRoot.appendChild(slot);
container.remove();
host.remove();
}
function removeNestedShadowsWithSlot() {
var outerHost = document.createElement('div');
document.body.appendChild(outerHost);
var outerShadow = outerHost.attachShadow({mode: 'open'});
var innerHost = document.createElement('div');
outerShadow.appendChild(innerHost);
var innerShadow = innerHost.attachShadow({mode: 'open'});
var slot = document.createElement('slot');
innerShadow.appendChild(slot);
outerHost.remove();
innerHost.remove();
}
addShadowWithSlot();
removeShadowWithSlot();
removeNestedShadowsWithSlot()
document.write('PASS');
</script>
</body>
</html>