@@ -110,6 +110,7 @@ Document includes NonElementParentNode;
110110DocumentFragment includes NonElementParentNode;
111111
112112interface mixin DocumentOrShadowRoot {
113+ readonly attribute CustomElementRegistry? customElementRegistry;
113114};
114115Document includes DocumentOrShadowRoot;
115116ShadowRoot includes DocumentOrShadowRoot;
@@ -120,9 +121,11 @@ interface mixin ParentNode {
120121 readonly attribute Element? lastElementChild;
121122 readonly attribute unsigned long childElementCount;
122123
123- [CEReactions, Unscopable] undefined prepend((Node or TrustedScript or DOMString)... nodes);
124- [CEReactions, Unscopable] undefined append((Node or TrustedScript or DOMString)... nodes);
125- [CEReactions, Unscopable] undefined replaceChildren((Node or TrustedScript or DOMString)... nodes);
124+ [CEReactions, Unscopable] undefined prepend((Node or DOMString)... nodes);
125+ [CEReactions, Unscopable] undefined append((Node or DOMString)... nodes);
126+ [CEReactions, Unscopable] undefined replaceChildren((Node or DOMString)... nodes);
127+
128+ [CEReactions] undefined moveBefore(Node node, Node? child);
126129
127130 Element? querySelector(DOMString selectors);
128131 [NewObject] NodeList querySelectorAll(DOMString selectors);
@@ -139,9 +142,9 @@ Element includes NonDocumentTypeChildNode;
139142CharacterData includes NonDocumentTypeChildNode;
140143
141144interface mixin ChildNode {
142- [CEReactions, Unscopable] undefined before((Node or TrustedScript or DOMString)... nodes);
143- [CEReactions, Unscopable] undefined after((Node or TrustedScript or DOMString)... nodes);
144- [CEReactions, Unscopable] undefined replaceWith((Node or TrustedScript or DOMString)... nodes);
145+ [CEReactions, Unscopable] undefined before((Node or DOMString)... nodes);
146+ [CEReactions, Unscopable] undefined after((Node or DOMString)... nodes);
147+ [CEReactions, Unscopable] undefined replaceWith((Node or DOMString)... nodes);
145148 [CEReactions, Unscopable] undefined remove();
146149};
147150DocumentType includes ChildNode;
@@ -237,7 +240,7 @@ interface Node : EventTarget {
237240 [CEReactions] attribute DOMString? textContent;
238241 [CEReactions] undefined normalize();
239242
240- [CEReactions, NewObject] Node cloneNode(optional boolean deep = false);
243+ [CEReactions, NewObject] Node cloneNode(optional boolean subtree = false);
241244 boolean isEqualNode(Node? otherNode);
242245 boolean isSameNode(Node? otherNode); // legacy alias of ===
243246
@@ -291,7 +294,7 @@ interface Document : Node {
291294 [NewObject] Comment createComment(DOMString data);
292295 [NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
293296
294- [CEReactions, NewObject] Node importNode(Node node, optional boolean deep = false);
297+ [CEReactions, NewObject] Node importNode(Node node, optional ( boolean or ImportNodeOptions) options = false);
295298 [CEReactions] Node adoptNode(Node node);
296299
297300 [NewObject] Attr createAttribute(DOMString localName);
@@ -310,9 +313,15 @@ interface Document : Node {
310313interface XMLDocument : Document {};
311314
312315dictionary ElementCreationOptions {
316+ CustomElementRegistry customElementRegistry;
313317 DOMString is;
314318};
315319
320+ dictionary ImportNodeOptions {
321+ CustomElementRegistry customElementRegistry;
322+ boolean selfOnly = false;
323+ };
324+
316325[Exposed=Window]
317326interface DOMImplementation {
318327 [NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId);
@@ -342,6 +351,7 @@ interface ShadowRoot : DocumentFragment {
342351 readonly attribute boolean clonable;
343352 readonly attribute boolean serializable;
344353 readonly attribute Element host;
354+
345355 attribute EventHandler onslotchange;
346356};
347357
@@ -382,6 +392,8 @@ interface Element : Node {
382392 ShadowRoot attachShadow(ShadowRootInit init);
383393 readonly attribute ShadowRoot? shadowRoot;
384394
395+ readonly attribute CustomElementRegistry? customElementRegistry;
396+
385397 Element? closest(DOMString selectors);
386398 boolean matches(DOMString selectors);
387399 boolean webkitMatchesSelector(DOMString selectors); // legacy alias of .matches
@@ -400,6 +412,7 @@ dictionary ShadowRootInit {
400412 SlotAssignmentMode slotAssignment = "named";
401413 boolean clonable = false;
402414 boolean serializable = false;
415+ CustomElementRegistry customElementRegistry;
403416};
404417
405418[Exposed=Window,
0 commit comments