@@ -5891,8 +5891,9 @@ dictionary ShadowRootInit {
5891
5891
<dfn export id=concept-element-local-name for=Element>local name</dfn> ,
5892
5892
<dfn export id=concept-element-custom-element-state for=Element>custom element state</dfn> ,
5893
5893
<dfn export id=concept-element-custom-element-definition for=Element>custom element definition</dfn> ,
5894
- <dfn export id=concept-element-is-value for=Element><code>is</code> value</dfn> . When an
5895
- <a for="/">element</a> is <a lt="create an element">created</a> , all of these values are
5894
+ <dfn export id=concept-element-is-value for=Element><code>is</code> value</dfn> , and
5895
+ <dfn export id=concept-element-duplicate-attribute-present for=Element>duplicate attribute present</dfn> .
5896
+ When an <a for="/">element</a> is <a lt="create an element">created</a> , all of these values are
5896
5897
initialized.
5897
5898
5898
5899
<p> An <a for=/>element</a> 's <a for=Element>custom element state</a> is one of
@@ -5973,13 +5974,17 @@ value of these steps:
5973
5974
<p> To
5974
5975
<dfn export id=concept-create-element lt="create an element|creating an element">create an element</dfn> ,
5975
5976
given a <var> document</var> , <var> localName</var> , <var> namespace</var> , and optional
5976
- <var> prefix</var> , <var> is</var> , and <var> synchronous custom elements flag</var> , run these steps:
5977
+ <var> prefix</var> , <var> is</var> , <var> duplicate attribute present</var> , and
5978
+ <var> synchronous custom elements flag</var> run these steps:
5977
5979
5978
5980
<ol>
5979
5981
<li><p> If <var> prefix</var> was not given, let <var> prefix</var> be null.
5980
5982
5981
5983
<li><p> If <var> is</var> was not given, let <var> is</var> be null.
5982
5984
5985
+ <li><p> If <var> duplicate attribute present</var> was not given, let
5986
+ <var> duplicate attribute present</var> be false.
5987
+
5983
5988
<li><p> Let <var> result</var> be null.
5984
5989
5985
5990
<li><p> Let <var> definition</var> be the result of
@@ -6001,8 +6006,9 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
6001
6006
<a for=Element>namespace prefix</a> set to <var> prefix</var> , <a for=Element>local name</a> set
6002
6007
to <var> localName</var> , <a for=Element>custom element state</a> set to "<code> undefined</code> ",
6003
6008
<a for=Element>custom element definition</a> set to null,
6004
- <a for=Element><code>is</code> value</a> set to <var> is</var> , and <a for=Node>node document</a> set to
6005
- <var> document</var> .
6009
+ <a for=Element><code>is</code> value</a> set to <var> is</var> , <a for=Node>node document</a> set to
6010
+ <var> document</var> , and <a for=Element>duplicate attribute present</a> set to
6011
+ <var> duplicate attribute present</var> .
6006
6012
6007
6013
<li><p> If the <var> synchronous custom elements flag</var> is set,
6008
6014
<a lt="upgrade an element">upgrade</a> <var> element</var> using <var> definition</var> .
@@ -6071,6 +6077,9 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
6071
6077
<li><p> Set <var> result</var> 's <a for=Element>namespace prefix</a> to <var> prefix</var> .
6072
6078
6073
6079
<li><p> Set <var> result</var> 's <a for=Element><code>is</code> value</a> to null.
6080
+
6081
+ <li><p> Set <var> result</var> 's <a for=Element>duplicate attribute present</a> to
6082
+ <var> duplicate attribute present</var> .
6074
6083
</ol>
6075
6084
6076
6085
<p> If any of these steps threw an exception, then:</p>
@@ -6084,8 +6093,9 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
6084
6093
<a for=Element>local name</a> set to <var> localName</var> ,
6085
6094
<a for=Element>custom element state</a> set to "<code> failed</code> ",
6086
6095
<a for=Element>custom element definition</a> set to null,
6087
- <a for=Element><code>is</code> value</a> set to null, and <a for=Node>node document</a> set to
6088
- <var> document</var> .
6096
+ <a for=Element><code>is</code> value</a> set to null, <a for=Node>node document</a> set to
6097
+ <var> document</var> , and <a for=Element>duplicate attribute present</a> set to
6098
+ <var> duplicate attribute present</var> .
6089
6099
</ol>
6090
6100
</li>
6091
6101
@@ -6098,8 +6108,9 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
6098
6108
<a for=Element>namespace prefix</a> set to <var> prefix</var> , <a for=Element>local name</a> set
6099
6109
to <var> localName</var> , <a for=Element>custom element state</a> set to
6100
6110
"<code> undefined</code> ", <a for=Element>custom element definition</a> set to null,
6101
- <a for=Element><code>is</code> value</a> set to null, and <a for=Node>node document</a> set to
6102
- <var> document</var> .
6111
+ <a for=Element><code>is</code> value</a> set to null, <a for=Node>node document</a> set to
6112
+ <var> document</var> , and <a for=Element>duplicate attribute present</a> set to
6113
+ <var> duplicate attribute present</var> .
6103
6114
6104
6115
<li><p> <a>Enqueue a custom element upgrade reaction</a> given <var> result</var> and
6105
6116
<var> definition</var> .
@@ -6120,8 +6131,9 @@ given a <var>document</var>, <var>localName</var>, <var>namespace</var>, and opt
6120
6131
<a for=Element>namespace prefix</a> set to <var> prefix</var> , <a for=Element>local name</a> set
6121
6132
to <var> localName</var> , <a for=Element>custom element state</a> set to
6122
6133
"<code> uncustomized</code> ", <a for=Element>custom element definition</a> set to null,
6123
- <a for=Element><code>is</code> value</a> set to <var> is</var> , and <a for=Node>node document</a> set to
6124
- <var> document</var> .
6134
+ <a for=Element><code>is</code> value</a> set to <var> is</var> ,<a for=Node>node document</a> set to
6135
+ <var> document</var> , and <a for=Element>duplicate attribute present</a> set to
6136
+ <var> duplicate attribute present</var> .
6125
6137
6126
6138
<li><p> If <var> namespace</var> is the <a>HTML namespace</a> , and either <var> localName</var> is a
6127
6139
<a>valid custom element name</a> or <var> is</var> is non-null, then set <var> result</var> 's
@@ -9959,6 +9971,7 @@ Adrian Bateman,
9959
9971
Aleksey Shvayka,
9960
9972
Alex Komoroske,
9961
9973
Alex Russell,
9974
+ Andy Paicu,
9962
9975
Anthony Ramine,
9963
9976
Arkadiusz Michalski,
9964
9977
Arnaud Le Hors,
0 commit comments