nested-slot-remove-crash.html (1048B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <link rel="author" href="mailto:masonf@chromium.org"> 4 <link rel="help" href="https://crbug.com/1159328"> 5 <meta name="assert" content="The renderer should not crash."> 6 7 <div id="host"></div> 8 <span>This test passes if the renderer does not crash.</span> 9 10 <script> 11 const root = host.attachShadow({mode:"open"}); 12 root.innerHTML = ` 13 <slot id=outer1 name=outer> 14 <slot id=inner1 name=inner>Fallback</slot> 15 </slot> 16 `; 17 document.body.offsetTop; 18 // The renderer should not crash here: 19 root.querySelector("#outer1").remove(); 20 21 root.innerHTML = ` 22 <slot id=outer2> 23 <slot id=inner2>Fallback</slot> 24 </slot> 25 `; 26 document.body.offsetTop; 27 // The renderer should not crash here: 28 root.querySelector("#outer2").remove(); 29 30 root.innerHTML = ` 31 <slot id=outer3> 32 <slot id=inner3> 33 <slot id=way-inner3>Fallback</slot> 34 </slot> 35 </slot> 36 `; 37 document.body.offsetTop; 38 // The renderer should not crash here: 39 root.querySelector("#outer3").remove(); 40 </script>