summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/shadow-dom/nested-slot-remove-crash.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/shadow-dom/nested-slot-remove-crash.html')
-rw-r--r--testing/web-platform/tests/shadow-dom/nested-slot-remove-crash.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/shadow-dom/nested-slot-remove-crash.html b/testing/web-platform/tests/shadow-dom/nested-slot-remove-crash.html
new file mode 100644
index 0000000000..2ac3f109c7
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/nested-slot-remove-crash.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" href="mailto:masonf@chromium.org">
+<link rel="help" href="https://crbug.com/1159328">
+<meta name="assert" content="The renderer should not crash.">
+
+<div id="host"></div>
+<span>This test passes if the renderer does not crash.</span>
+
+<script>
+ const root = host.attachShadow({mode:"open"});
+ root.innerHTML = `
+ <slot id=outer1 name=outer>
+ <slot id=inner1 name=inner>Fallback</slot>
+ </slot>
+ `;
+ document.body.offsetTop;
+ // The renderer should not crash here:
+ root.querySelector("#outer1").remove();
+
+ root.innerHTML = `
+ <slot id=outer2>
+ <slot id=inner2>Fallback</slot>
+ </slot>
+ `;
+ document.body.offsetTop;
+ // The renderer should not crash here:
+ root.querySelector("#outer2").remove();
+
+ root.innerHTML = `
+ <slot id=outer3>
+ <slot id=inner3>
+ <slot id=way-inner3>Fallback</slot>
+ </slot>
+ </slot>
+ `;
+ document.body.offsetTop;
+ // The renderer should not crash here:
+ root.querySelector("#outer3").remove();
+</script>