[60] カスタム要素構築器は、 カスタム要素が作成された時に実行される JavaScript の関数です。 カスタム要素を定義する際に (著者が) 指定できます。
[15] カスタム要素構築器は、 カスタム要素の構築器です >>14。カスタム要素構築器は、 (通常の要素のように利用者エージェントが定義するのではなく) 著者が定義します。
[16] カスタム要素構築器は、いくつかの条件を満たさなければならないことを除けば、 普通の JavaScript の構築器と変わりありません。つまり、 単なる JavaScript の関数です。
[4] 著者は、カスタム要素構築器について、次の条件を満たさなければなりません >>3。
[13] 一般に、構築器は、初期状態や既定値の設定、 イベントリスナーや影ホストの設定に使うべきです。 >>3
[12] 一般に、処理 (特に fetch やレンダリングを伴うもの)
はできるだけ構築器ではなく、 connectedCallback
を使うべきです。
ただし、 connectedCallback
は何度も実行されることがありますから、本当に一度だけ実行したい初期化作業は対策が必要になります。
>>3
CustomElementConstructor
型[100] Web IDL の typedef
CustomElementConstructor
は、 any
を返す関数です HTML Standard。
つまり任意の値を返す関数を表しています。
[51] カスタム要素の条件を潜在的に満たす要素を、 実際にカスタム要素とする操作を、 要素の格上げといいます。要素の格上げは、次の場面で、 適切なカスタム要素定義が存在する場合に行われます。
[55] 要素の格上げによって、元々 HTMLElement
を実装していた要素オブジェクトは、
カスタム要素構築器の実行を経てカスタム要素のクラスのオブジェクトになります。
[89] CustomElementRegistry
インターフェイスの
upgrade
メソッドは、
CEReactions
であり、次のようにしなければなりません >>19。
[36] 要素の格上げの試行は、 要素要素について、次のようにします >>19。
[20] 要素の格上げは、 カスタム要素定義定義と要素要素について、 次のようにします >>19。
[44] 格上げ反応は、 要素の格上げを行うもので、カスタム要素定義を持ちます。 >>45
[46] カスタム要素格上げ反応をキューに追加するには、
要素要素、
カスタム要素定義定義について、次のようにします >>43。
[1] Add custom elements to HTML · whatwg/html@6e7eaa4 ( 版) <https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a>
[2] Add customElements.get() to retrieve a custom element constructor · whatwg/html@1d596a5 ( 版) <https://github.com/whatwg/html/commit/1d596a555d3c2f067ae643e447eaa88137b595ac>
[58] Make custom element definition trigger in-document upgrades ( (domenic著, )) <https://github.com/whatwg/html/commit/11bdd701e79c8dd6040586b5257eb01f3b620659>
[59] Editorial: custom element state "customized" → "custom" ( (domenic著, )) <https://github.com/whatwg/html/commit/5946d084658ff2f8d5ec3cea3c448175eaa5336e>
[61] Fix inaccurate stack-popping in custom element upgrades ( (domenic著, )) <https://github.com/whatwg/html/commit/6561250ec3788938a2d64932093b0ea293b97174>
[62] Enqueue custom element reactions appropriately during upgrades (domenic著, ) <https://github.com/whatwg/html/commit/2328ccf97b80cba7835df3dc5d1a687d51fbfcf4>
[63] Don't upgrade custom elements twice (domenic著, ) <https://github.com/whatwg/html/commit/5798c66579b8076660178f484568adc67421dc23>
[66] Prevent double custom element reaction enqueuing via upgrades (domenic著, ) <https://github.com/whatwg/html/commit/657d3b2b97a0fd5ff1c353857f5b052f41bd3e0d>
[67] Take care of missing custom element reactions (domenic著, ) <https://github.com/whatwg/html/commit/a57c88711c995356e44d019f5bd81d0cdedac2bf>
[68] Convert custom element callbacks to Web IDL callback types (domenic著, ) <https://github.com/whatwg/html/commit/be055730a11a8f952feb8fdb73e7caa01460e5a4>
[69] Fix customized built-in element "is" handling and reactions (domenic著, ) <https://github.com/whatwg/html/commit/4e632a82728d68a8a6bd32f02083762b7792ddf7>
[37] Set the stage for preventing double custom element constructor calls (domenic著, ) <https://github.com/whatwg/dom/commit/539e45214f682797f4fa022815a08b6f044e1240>
[38] Prevent double custom element constructor calls (domenic著, ) <https://github.com/whatwg/html/commit/04e90c55c7526d8c96d20159bb23586670b93fd2>
[71] Implement new custom element adoption semantics (domenic著, ) <https://github.com/whatwg/html/commit/feb77d09793a2ed8d49a6949dbca73eabb60ae79>
[73] Make document.write etc. throw during parsing custom elements (domenic著, ) <https://github.com/whatwg/html/commit/00c6fa07bdb9f0d08a28f6c6e1ababca7d08618c>
[75] Make document.write etc. throw during parsing custom elements (domenic著, ) <https://github.com/whatwg/html/commit/00c6fa07bdb9f0d08a28f6c6e1ababca7d08618c>
[76] Set the custom element state to failed when upgrades misbehave (domenic著, ) <https://github.com/whatwg/html/commit/b687759d5eccb354faca78fda5001ce3db428749>
[78] Clear the custom element reaction queue if upgrading fails (domenic著, ) <https://github.com/whatwg/html/commit/d00b810aeccf9a272b17400ed3daed7f100adec1>
[28] Use Web IDL to construct custom element constructors (domenic著, ) <https://github.com/whatwg/dom/commit/1ca094a209ba020348ac146c8bda157b7c5f3212>
[77] Clarify custom element reaction arguments passed (domenic著, ) <https://github.com/whatwg/html/commit/c5019ae75d7dfaaf7829cf45c56700e97b24ea61>
[82] Custom Elements Methods Clarification · Issue #2299 · whatwg/html () <https://github.com/whatwg/html/issues/2299>
[83] Clarify custom element reaction arguments passed by domenic · Pull Request #3125 · whatwg/html () <https://github.com/whatwg/html/pull/3125>
[84] Fix ordering of custom element upgrade steps (domenic著, ) <https://github.com/whatwg/html/commit/2b8a4752415a3a831adf41a97c217963455de220>
[86] Elements that are upgrading have no CE definition when callback reactions are enqueued · Issue #2876 · whatwg/html () <https://github.com/whatwg/html/issues/2876>
[87] Fix ordering of custom element upgrade steps by domenic · Pull Request #3124 · whatwg/html () <https://github.com/whatwg/html/pull/3124>
[88] Add customElements.upgrade() (domenic著, ) <https://github.com/whatwg/html/commit/6df48639fb6d6189a346ea7349f13fd14ace4c99>
[95] Add customElements.upgrade() (domenic著, ) <https://github.com/whatwg/html/commit/6df48639fb6d6189a346ea7349f13fd14ace4c99>
[96] Add `customElements.upgrade` · Issue #710 · w3c/webcomponents () <https://github.com/w3c/webcomponents/issues/710>
[97] Add customElements.upgrade() by domenic · Pull Request #3535 · whatwg/html () <https://github.com/whatwg/html/pull/3535>
[98] Fix customElements.upgrade() to use shadow-including tree order (tkent-google著, ) <https://github.com/whatwg/html/commit/5b653a9145425b32a4f1c78ffb1a1bda7fde9a6b>
[99] custom-element: customElements.upgrade() should use "shadow-including tree order" by tkent-google · Pull Request #3626 · whatwg/html () <https://github.com/whatwg/html/pull/3626>
[102] Make the type of custom element constructor stricter by yuki3 · Pull Request #3703 · whatwg/html () <https://github.com/whatwg/html/pull/3703>
upgrade
の他、 挿入から呼び出されます。