summaryrefslogtreecommitdiffstats
path: root/layout/reftests/dom/multipleinsertionpoints-insertmultiple-shadow.xhtml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--layout/reftests/dom/multipleinsertionpoints-insertmultiple-shadow.xhtml53
1 files changed, 53 insertions, 0 deletions
diff --git a/layout/reftests/dom/multipleinsertionpoints-insertmultiple-shadow.xhtml b/layout/reftests/dom/multipleinsertionpoints-insertmultiple-shadow.xhtml
new file mode 100644
index 0000000000..89f138cb67
--- /dev/null
+++ b/layout/reftests/dom/multipleinsertionpoints-insertmultiple-shadow.xhtml
@@ -0,0 +1,53 @@
+<html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait">
+<head>
+<script>
+customElements.define("custom-element", class extends HTMLElement {
+ constructor() {
+ super();
+ const template = document.getElementById("template");
+ const shadowRoot = this.attachShadow({mode: "open"})
+ .appendChild(template.content.cloneNode(true));
+ }
+});
+
+function boom()
+{
+ document.body.offsetHeight;
+
+ var lastdiv = document.getElementById("last");
+ var parent = lastdiv.parentNode;
+
+ var newelt = document.createElement("span");
+ newelt.setAttribute("slot", "foo");
+ newelt.appendChild(document.createTextNode(1));
+ parent.insertBefore(newelt, lastdiv);
+
+ newelt = document.createElement("div");
+ newelt.appendChild(document.createTextNode(4));
+ parent.insertBefore(newelt, lastdiv);
+
+ newelt = document.createElement("span");
+ newelt.setAttribute("slot", "foo");
+ newelt.appendChild(document.createTextNode(2));
+ parent.insertBefore(newelt, lastdiv);
+
+ document.body.offsetHeight;
+ document.documentElement.className = "";
+}
+</script>
+
+</head>
+<body onload="boom();">
+<template id="template">
+ <div>
+ <slot name="foo"/>
+ </div>
+ <div>
+ <slot/>
+ </div>
+</template>
+<custom-element style="display: block;">
+ <div>3</div><div id="last">5</div>
+</custom-element>
+</body>
+</html>