From ffef2a26943e86a31002156579ae17b378f9daf7 Mon Sep 17 00:00:00 2001
From: Mason Freed closed
").
Shadow roots have an associated delegates focus. It is initially set to false.
+Shadow roots have an associated is declarative shadow root. +It is initially set to false.
+Shadow roots's associated host is never null.
@@ -6751,6 +6754,8 @@ invoked, must run these steps:Set shadow's delegates focus to init's {{ShadowRootInit/delegatesFocus}}. +
Set shadow's is declarative shadow root to false. +
Set this's shadow root to shadow.
Return shadow.
@@ -10133,6 +10138,7 @@ Manish Tripathi,
Marcos Caceres,
Mark Miller,
Martijn van der Ven,
+Mason Freed,
Mats Palmgren,
Mounir Lamouri,
Michael Stramel,
From 0e2223ad27882502541d9fe7b87c78e1d0ec6ef5 Mon Sep 17 00:00:00 2001
From: Mason Freed
If this is a shadow host, then throw an +
If this is a shadow host whose shadow root's is declarative shadow root property is false, then throw an "{{NotSupportedError!!exception}}" {{DOMException}}. +
If this is a shadow host whose shadow root's is declarative shadow root property is true, then remove all of shadow root's children, in tree order. Return this's shadow root. +
Let shadow be a new shadow root whose node document is this's node document, host is this, and mode is init's {{ShadowRootInit/mode}}. @@ -6754,7 +6756,7 @@ invoked, must run these steps:
Set shadow's delegates focus to init's {{ShadowRootInit/delegatesFocus}}. -
Set shadow's is declarative shadow root to false. +
Set shadow's is declarative shadow root property to false.
Set this's shadow root to shadow.
From 23ff7fb5d149139bbfb5ce5cf5b093cb00f925c5 Mon Sep 17 00:00:00 2001
From: Mason Freed {{Element}} nodes are simply known as
@@ -6882,9 +6888,14 @@ for this.
Throw a "{{SyntaxError!!exception}}" {{DOMException}}.
+ The
+ The
The
From ffdc549b9a1c3f40dd59341f59712ed839a4f9da Mon Sep 17 00:00:00 2001
From: Mason Freed If this's namespace is not the HTML namespace,
+
+ Run attach a shadow root with shadow host equal to this,
+ mode equal to init's {{ShadowRootInit/mode}}, and delegates focus
+ equal to init's {{ShadowRootInit/delegatesFocus}}. Return this's shadow root. The Let shadow be shadow host's shadow root.
+
+ If shadow is null or its mode is " Return shadow.
+ To attach a shadow root, given a
+shadow host, mode, and delegates focus, run these steps: If this's namespace is not the HTML namespace,
then throw a "{{NotSupportedError!!exception}}" {{DOMException}}.
- If this's local name is not one of the following:
+ If this's local name is not a
getInnerHTML(options)
+method, when invoked, must return the result of running
+fragment serialization algorithm, given this as the node and options.includeShadowRoots as include shadow roots.
+
insertAdjacentElement(where, element)
-method, when invoked, must return the result of running insert adjacent, give this,
+method, when invoked, must return the result of running insert adjacent, given this,
where, and element.
-
+
+shadowRoot
attribute's getter must run these
+steps:
+
+
+
+
+closed
",
+ then return null.
+
If this is a shadow host whose shadow root's is declarative shadow root property is false, then throw an +
If this has a non-null shadow root whose + is declarative shadow root property is false, then throw an "{{NotSupportedError!!exception}}" {{DOMException}}. -
If this is a shadow host whose shadow root's is declarative shadow root property is true, then remove all of shadow root's children, in tree order. Return this's shadow root. +
If this has a non-null shadow root whose + is declarative shadow root property is true, then remove all of + shadow root's children, in tree order. Return shadow host's shadow root.
Let shadow be a new shadow root whose node document - is this's node document, host is this, - and mode is init's {{ShadowRootInit/mode}}. + is this's node document, host is shadow host, + and mode is mode. -
Set shadow's delegates focus to init's - {{ShadowRootInit/delegatesFocus}}. +
Set shadow's delegates focus to delegates focus.
Set shadow's is declarative shadow root property to false.
Set this's shadow root to shadow. - -
Return shadow. - - -
The shadowRoot
attribute's getter must run these
-steps:
-
-
Let shadow be this's shadow root. - -
If shadow is null or its mode is "closed
",
- then return null.
Return shadow.
This means that if multiple declarative shadow roots are contained within a single shadow host, + only the last one will remain. +
Let shadow be a new shadow root whose node document
is this's node document, host is shadow host,
and mode is mode.
From 2f91c8227c99a47e796d717164956d4cdc149aac Mon Sep 17 00:00:00 2001
From: Mason Freed This means that if multiple declarative shadow roots are contained within a single shadow host,
+ This means that if multiple declarative shadow roots are contained within a single shadow host,
only the last one will remain.
Let shadow be a new shadow root whose node document
From 8a0ab5de58a32c2487b3438ffa0e28b58353665f Mon Sep 17 00:00:00 2001
From: Mason Freed To clone a
-node, with an optional document and clone children flag, run these
-steps:
+node, with an optional document, clone children flag, and
+clone shadows flag, run these steps:
@@ -4307,6 +4307,22 @@ dom-Range-extractContents, dom-Range-cloneContents -->
children of node and append them to copy, with
document as specified and the clone children flag being set.
+ Run attach a shadow root with shadow host equal to copy,
+ mode equal to node's shadow root's mode, and delegates focus
+ equal to node's shadow root's delegates focus. If node's shadow root's is declarative shadow root is true, then
+ set copy's shadow root's is declarative shadow root property to true. If this is a shadow root, then throw a
"{{NotSupportedError!!exception}}" {{DOMException}}.
- Return a clone of this, with the
- clone children flag set if deep is true.
+ Let shouldCloneShadows be true if this is a shadow host
+ whose shadow root's is declarative shadow root property is true,
+ and false otherwise.
+
+ Let clonedNode equal a clone of this, with the
+ clone children flag set if deep is true, and clone shadows flag set to
+ shouldCloneShadows.
+
+
+
A node A
equals a node
B if all of the following conditions are true:
@@ -6906,7 +6930,9 @@ for this.
The
The
If this is a shadow root, then throw a
"{{NotSupportedError!!exception}}" {{DOMException}}.
- Let shouldCloneShadows be true if this is a shadow host
- whose shadow root's is declarative shadow root property is true,
- and false otherwise.
+ If this has a non-null host, but this is not
+ a shadow host, then set shouldCloneShadows to true. Otherwise, set
+ it to false.
Let clonedNode equal a clone of this, with the
clone children flag set if deep is true, and clone shadows flag set to
@@ -4343,8 +4343,6 @@ invoked, must run these steps:
-
-
A node A
equals a node
B if all of the following conditions are true:
From a6a9644a24bd5a516cb25a277960405b372a9287 Mon Sep 17 00:00:00 2001
From: Mason Freed Run attach a shadow root with shadow host equal to copy,
@@ -4333,13 +4333,9 @@ invoked, must run these steps:
If this is a shadow root, then throw a
"{{NotSupportedError!!exception}}" {{DOMException}}.
- If this has a non-null host, but this is not
- a shadow host, then set shouldCloneShadows to true. Otherwise, set
- it to false.
-
Let clonedNode equal a clone of this, with the
- clone children flag set if deep is true, and clone shadows flag set to
- shouldCloneShadows.
+ clone children flag set if deep is true, and the clone shadows flag
+ set if this is a {{DocumentFragment}}.
If this is a shadow root, then throw a
"{{NotSupportedError!!exception}}" {{DOMException}}.
- Let clonedNode equal a clone of this, with the
- clone children flag set if deep is true, and the clone shadows flag
- set if this is a {{DocumentFragment}}.
+ Return a clone of this, with the
+ clone children flag set if deep is true, and the
+ clone shadows flag set if this is a {{DocumentFragment}}.
From 097c51201b6c69483f54e4a81d7be5da44e1aeb0 Mon Sep 17 00:00:00 2001
From: Mason Freed Return a clone of this, with the
clone children flag set if deep is true, and the
- clone shadows flag set if this is a {{DocumentFragment}}.
+ clone shadows flag set if this is a {{DocumentFragment}} whose
+ host is an HTML <{template}> element.
From 0c4166538657d72853fd80eee2e82f0690e70740 Mon Sep 17 00:00:00 2001
From: Mason Freed The
The
Let shadow be shadow host's shadow root.
+ Let shadow be this's shadow root.
If shadow is null or its mode is " If this's namespace is not the HTML namespace,
+ If shadow host's namespace is not the HTML namespace,
then throw a "{{NotSupportedError!!exception}}" {{DOMException}}.
- If this's local name is not a
+ If shadow host's local name is not a
If this's local name is a valid custom element name, or
- this's If shadow host's local name is a valid custom element name, or
+ shadow host's Let definition be the result of
looking up a custom element definition given
- this's node document, its namespace, its
+ shadow host's node document, its namespace, its
local name, and its If definition is not null and definition's
@@ -6793,26 +6794,27 @@ steps:
If this has a non-null shadow root whose
- is declarative shadow root property is false, then throw an
- "{{NotSupportedError!!exception}}" {{DOMException}}.
+ If shadow host has a non-null shadow root, then:
+ If shadow host's shadow root's is declarative
+ shadow root property is false, then throw an "{{NotSupportedError!!exception}}" {{DOMException}}.
- If this has a non-null shadow root whose
- is declarative shadow root property is true, then remove all of
- shadow root's children, in tree order. Return shadow host's shadow root.
+ Otherwise, remove all of shadow root's children, in
+ tree order. Return shadow host's shadow root.
- This means that if multiple declarative shadow roots are contained within a single shadow host,
- only the last one will remain.
+ This means that if multiple declarative shadow roots are contained within a single shadow host,
+ only the last one will remain.
+ Let shadow be a new shadow root whose node document
- is this's node document, host is shadow host,
+ is shadow host's node document, host is shadow host,
and mode is mode.
Set shadow's delegates focus to delegates focus.
Set shadow's is declarative shadow root property to false.
- Set this's shadow root to shadow.
+ Set shadow host's shadow root to shadow.
The
The
+
+
getInnerHTML(options)
method, when invoked, must return the result of running
-fragment serialization algorithm, given this as the node and options.includeShadowRoots as include shadow roots.
+fragment
+serialization algorithm, given this as node and options.includeShadowRoots
+as include shadow roots.
insertAdjacentElement(where, element)
From 9efcb609c930cfcd18fd04c32727d5177d85ba51 Mon Sep 17 00:00:00 2001
From: Mason Freed
From 33f4adfe9f0065056e47f8ca3a6f01064e7bb186 Mon Sep 17 00:00:00 2001
From: Mason Freed getInnerHTML(options)
-method, when invoked, must return the result of running
-fragment
-serialization algorithm, given this as node and options.includeShadowRoots
-as include shadow roots.
+method, when invoked, must return the result of running HTML fragment serialization algorithm,
+given this as node and options.includeShadowRoots as include shadow roots.
insertAdjacentElement(where, element)
From 191a88c92e1f80a7bb439b064a63fbd043204226 Mon Sep 17 00:00:00 2001
From: Mason Freed
-
closed
",
then return null.
-
is
value is not null, then:
+ is
value is not null, then:
is
value.
+
@@ -6925,7 +6927,8 @@ for this.
getInnerHTML(options)
method, when invoked, must return the result of running HTML fragment serialization algorithm,
-given this as node and options.includeShadowRoots as include shadow roots.
+given this as node, options.includeShadowRoots as include shadow roots,
+and options.closedRoots as closed shadow roots.
insertAdjacentElement(where, element)