<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2016-05-14 09:55:50 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#element-definition">https://html.spec.whatwg.org/#element-definition</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementsRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の
<dfn><code class="DOMm" xml:lang="en">define</code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>は、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>要素定義</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">element definition</rt></rubyb></dfn>、すなわち 
<code class="DOMi" xml:lang="en">CustomElementsRegistry</code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>の追加を行います <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p></section><section><h1>引数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>は、次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>を受け取ります。<figure class="list members"><dl><dt><var>名前</var></dt><dd>作成する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>となる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当なカスタム要素名</anchor>。 
<code>extends</code> を指定する場合
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム化組み込み要素</anchor>) は <code>is<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">is=&quot;&quot;</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>、
指定しない場合 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">自律カスタム要素</anchor>) は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素名</anchor>に相当します。
この引数は必須で、既存の他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>と違っていなければなりません。</dd><dt><var>構築器</var></dt><dd>作成する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構築器<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">カスタム要素構築器</title></f>となる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関数</anchor>。
この引数は必須で、既存の他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構築器<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">カスタム要素構築器</title></f>と違っていなければなりません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素構築器</anchor>の条件を満たすものである必要があります。</dd><dt><var>オプション群</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor> <code class="DOMi" xml:lang="en">ElementDefinitionOptions</code>。
省略可能です。</dd></dl></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor> <dfn><code class="DOMi" xml:lang="en">ElementDefinitionOptions</code></dfn> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src> は、
次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>を持ちます。<figure class="list short"><ul><li><code class="DOMa" xml:lang="en">extends</code></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor> <code class="DOMi" xml:lang="en">ElementDefinitionOptions</code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>
<dfn><code class="DOMa" xml:lang="en">extends</code></dfn> は、 <code class="IDL" xml:lang="en">DOMString</code> で、
必須です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。
<code class="DOMa" xml:lang="en">extends</code> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム化組み込み要素</anchor>における、
拡張する元の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素名</title></anchor>を指定するものです。
指定する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素名</anchor>は、正規の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素名</title></anchor>でなければなりません。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en">createElement</code> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素名</anchor>をまず指定して
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en">is<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">is=&quot;&quot;</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>を指定しますが、
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en">define</code> では逆に<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>をまず指定して、
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en">extends</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素名</anchor>を指定します。</comment-p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><pre xmlns="http://www.w3.org/1999/xhtml" class="HTML code">class MyElement extends HTMLElement {
};
customElements.define (&quot;my-element&quot;, MyElement);</pre></example></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> 本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>を作成し、 <code class="DOMi" xml:lang="en">Window</code>
に保存するものです。更に、
既に作成された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>があれば、作成した定義に添って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素の格上げ</anchor>も実行します。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">これ以後に新たに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素の作成</anchor>が行われる場合は、その時点で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素の格上げ</anchor>が行われます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>は、次のようにしなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。<figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>が指定されたものとして処理します。<figure class="list members"><dl><dt><var>名前</var></dt><dd>第1引数 <code class="DOMi" xml:lang="en">DOMString</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">必須</anchor>)</dd><dt><var>構築器</var></dt><dd>第2引数 <code class="DOMi" xml:lang="en">CustomElementConstructor</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">必須</anchor>)</dd><dt><var>オプション群</var></dt><dd>第3引数 <code class="DOMi" xml:lang="en">ElementDefinitionOptions</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">省略可能</anchor>)</dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <code class="IDL xattr">CEReactions</code> の事前処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <var>構築器</var>に <code>IsConstructor</code> を適用した結果が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <code>TypeError</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <var>名前</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当なカスタム要素名</anchor>でなければ、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <code>SyntaxError</code> <code class="DOMi" xml:lang="en">DOMException</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>に<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>が<var>名前</var>の項目がある</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>に<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構築器<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">カスタム要素構築器</title></f>が<var>構築器</var>の項目がある</li></ul></figure>... のいずれかを満たす場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <code>NotSupportedError</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <var>extends</var> を、<var>オプション群</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">extends</code></f> に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <var>extends</var> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <var>局所名</var>を、<var>名前</var>に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> それ以外なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <var>extends</var> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当なカスタム要素名</anchor><em>なら</em>、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <code>NotSupportedError</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <var>extends</var> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML名前空間</anchor>に関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素インターフェイス</anchor>が
<code class="DOMi" xml:lang="en">HTMLUnknownElement</code> なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <code>NotSupportedError</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <var>局所名</var>を、<var>extends</var> に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素定義が走っている</f>フラグが設定されていれば、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <code>NotSupportedError</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>ます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素定義が走っている</f>フラグを設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <var>写像</var>と<var>被観測属性群</var>を、<var>構築器</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>の処理 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;74</anchor-internal>) 
を実行した結果に設定します。<var>例外</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素定義が走っている</f>フラグを削除します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <var>例外</var>が <code>null</code> でなければ、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <var>例外</var>を改めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <var>定義</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>に設定します。<figure class="list members middle"><figcaption><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor></figcaption><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f></dt><dd><var>名前</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">局所名</f></dt><dd><var>局所名</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構築器<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">カスタム要素構築器</title></f></dt><dd><var>構築器</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被観察属性群</f></dt><dd><var>被観察属性群</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生活環コールバック群</f></dt><dd><var>写像</var></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <var>定義</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>に追加します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <var>文書</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end><figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <var>文書</var>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">影を含む子孫</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間</f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML名前空間</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">局所名</f>が<var>局所名</var></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <var>extends</var> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> でない場合、
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor><code xmlns="http://www.w3.org/1999/xhtml" class="HTMLa" xml:lang="en">is</code>値</anchor></f>が<var>名前</var></li></ul></figure>... のすべてを満たす<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor><var>要素</var>について、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">影を含む木順</anchor>に、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">enqueue a custom element upgrade reaction</anchor> を<var>要素</var>と<var>定義</var>について実行します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">定義時約束写像</f>に<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キー</f>が<var>名前</var>の項目<var>項目</var>が含まれていれば、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <var>項目</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">値</f>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">未定義</anchor>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">約束の解決</title></anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <var>項目</var>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">定義時約束写像</f>から削除します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <code class="IDL xattr">CEReactions</code> の事後処理を行います。</li></ol></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> メンバーの処理とは、<var>構築器</var>について次のようにすることを言います。<figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <var>プロトタイプ</var>を、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Get</anchor>(<var>構築器</var>, <code>prototype</code>)</code>
に設定します。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>られれば、改めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>、ここで停止します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <var>プロトタイプ</var>に <code>Type</code> を適用した結果が <code>Object</code>
でなければ、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <code>TypeError</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <var>写像</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">写像</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <var>コールバック名</var>として <code>connectedCallback</code>, <code>disconnectedCallback</code>,
<code>adoptedCallback</code>,
<code>attributeChangedCallback</code> について順に、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <var>コールバック</var>を、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Get</anchor>(<var>プロトタイプ</var>, <var>コールバック名</var>)</code>
の結果を <code class="IDL" xml:lang="en">Function</code> に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">変換<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">変換 (Web IDL)</title></anchor>したものに設定します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>られれば、改めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>、ここで停止します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <var>写像</var>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キー</anchor><var>コールバック名</var>、値<var>コールバック</var>の組を追加します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <var>写像</var>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キー</anchor> <code>attributeChangedCallback</code> の項目が存在すれば、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <var>iterable</var> を、<var>写像</var>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キー</anchor> <code>attributeChangedCallback</code> の項目に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <var>iterable</var> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">未定義</anchor>でなければ、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <var>被観察属性群</var>を、 <var>iterable</var> を <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sequence<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">sequence&lt;&gt;</title></anchor>&lt;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>&gt;</code>
に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">変換<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">変換 (WebIDL)</title></anchor>した結果に設定します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>られれば、改めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">投げ</anchor>、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> それ以外なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <var>被観察属性群</var>を、空の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">列<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">sequence&lt;&gt;</title></anchor>に設定します。</li></ol></li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> それ以外なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <var>被観察属性群</var>を、空の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">列<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">sequence&lt;&gt;</title></anchor>に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <var>写像</var>と<var>被観測属性群</var>を返します。</li></ol></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementsRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は、
<dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><rubyb><anchor>要素定義が走っている</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">element definition is running</rt></rubyb></f></dfn>フラグを持ちます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> <code>CustomElementsRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は、
<dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><rubyb><anchor>定義される名前の集合</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">set of being-defined names</rt></rubyb></f></dfn>と<dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><rubyb><anchor>定義される構築器の集合</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">set of being-defined constructors</rt></rubyb></f></dfn>を持ちます
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。これらは <code class="DOMm" xml:lang="en">define</code> が同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素名</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素構築器</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再帰的</anchor>に呼び出されるのを防ぐためのものです。</p></history></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Add custom elements to HTML · whatwg/html@6e7eaa4</cite>
(<time>2016-04-26 18:19:26 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a">https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <cite xml:lang="en">Editorial: rename ElementRegistrationOptions to ElementDefinitionOptions</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-05-08 23:29:58 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/a082daa4aa272f4eae77b67aa3116af482f03e5e">https://github.com/whatwg/html/commit/a082daa4aa272f4eae77b67aa3116af482f03e5e</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <cite xml:lang="en">Make custom element definition trigger in-document upgrades</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-05-10 15:52:27 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/11bdd701e79c8dd6040586b5257eb01f3b620659">https://github.com/whatwg/html/commit/11bdd701e79c8dd6040586b5257eb01f3b620659</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <cite xml:lang="en">Correctly find upgrade candidates during custom element definition</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-05-17 15:06:36 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/edda04a44c64352387199ba6ed412d27ea305bfb">https://github.com/whatwg/html/commit/edda04a44c64352387199ba6ed412d27ea305bfb</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <cite xml:lang="en">Don't read observedAttributes if there is no attributeChangedCallback</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-06-16 17:08:30 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/9ac1071abe7fca185604b56b89cb969ea34e39db">https://github.com/whatwg/html/commit/9ac1071abe7fca185604b56b89cb969ea34e39db</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="en">Convert custom element callbacks to Web IDL callback types</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-06-30 02:10:53 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/be055730a11a8f952feb8fdb73e7caa01460e5a4">https://github.com/whatwg/html/commit/be055730a11a8f952feb8fdb73e7caa01460e5a4</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite xml:lang="en">Fix customized built-in element &quot;is&quot; handling and reactions</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-06-07 01:55:58 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/4e632a82728d68a8a6bd32f02083762b7792ddf7">https://github.com/whatwg/html/commit/4e632a82728d68a8a6bd32f02083762b7792ddf7</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">Handle reentrant custom element definition</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-06-07 17:18:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/270b5f3e48411063c431fdf98dbe41766ddc20b1">https://github.com/whatwg/html/commit/270b5f3e48411063c431fdf98dbe41766ddc20b1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> <cite xml:lang="en">Disallow defining a custom element using HTMLElement or its subclasses</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-06-16 17:09:53 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/69847259ecd9b3166b88e24ab2d5f6dd8bd59aec">https://github.com/whatwg/html/commit/69847259ecd9b3166b88e24ab2d5f6dd8bd59aec</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> <cite xml:lang="en">Disallow mismatches between custom element local names and brands</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-07-20 03:00:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/0c45df84a6dab701e5a8e3eefd3d566ce3591737">https://github.com/whatwg/html/commit/0c45df84a6dab701e5a8e3eefd3d566ce3591737</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <cite xml:lang="en">Disallow customElements.define being given named constructors</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-07-21 14:53:26 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/f9c5830228859596589090ee41417798a2641875">https://github.com/whatwg/html/commit/f9c5830228859596589090ee41417798a2641875</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <cite xml:lang="en">Implement new custom element adoption semantics</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-07-21 18:25:57 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/feb77d09793a2ed8d49a6949dbca73eabb60ae79">https://github.com/whatwg/html/commit/feb77d09793a2ed8d49a6949dbca73eabb60ae79</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <cite xml:lang="en">Clarify the order of saving custom element callbacks</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-08-16 05:50:11 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/5ce53c222382bf884ab9e9879396543bf00d4fef">https://github.com/whatwg/html/commit/5ce53c222382bf884ab9e9879396543bf00d4fef</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> <cite xml:lang="en">Simplify the reentrance guard for custom element definition</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-08-20 14:15:29 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/4bfa7130c7e2f953b07787d8a297eacdf51644e2">https://github.com/whatwg/html/commit/4bfa7130c7e2f953b07787d8a297eacdf51644e2</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <cite xml:lang="en">Move the check on registering an element interface as a custom element</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-08-23 16:20:59 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/9c9b08013261bfa93cce4cbddbcd03d866717e11">https://github.com/whatwg/html/commit/9c9b08013261bfa93cce4cbddbcd03d866717e11</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> <cite xml:lang="en">Use new.target.prototype in HTML element constructors</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-09-15 23:34:11 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/93ce959946249590515a3cf1a4b939a24605fc90">https://github.com/whatwg/html/commit/93ce959946249590515a3cf1a4b939a24605fc90</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <cite xml:lang="en">window.customElements.define retrieves the lifetime callbacks in an odd order · Issue #3580 · whatwg/html</cite>
(<time>2018-03-23 02:06:41 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/3580">https://github.com/whatwg/html/issues/3580</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <cite xml:lang="en">Editorial: make the type of custom element constructors stricter</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">yuki3</anchor>著, <time>2018-05-30 00:29:26 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/f8bd887aff17a5ffaf8c50c76b937815c92fc5e4">https://github.com/whatwg/html/commit/f8bd887aff17a5ffaf8c50c76b937815c92fc5e4</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> <cite xml:lang="en">Make the type of custom element constructor stricter by yuki3 · Pull Request #3703 · whatwg/html</cite>
(<time>2018-06-01 01:33:47 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/pull/3703">https://github.com/whatwg/html/pull/3703</anchor-external></p></section></body></html>