Skip to main content

Module custom_elements

Module custom_elements 

Source
Expand description

カスタム要素(customElements.define)の構築・昇格・反応。

【2026-10-20】従来は define が既存要素の「使い捨てのハンドル」に原型を付けるだけで、 要素は昇格せず(クラスのコンストラクタが走らない)、createElement もクラスを構築 しなかった。YouTube の視聴ページ(Polymer 3.5)は <ytd-app> が昇格してテンプレートを 展開しないと何も描かれず、骨組み(skeleton)のままだった。

  • 要素の原型は DomBridge::node_protos に持つ(ハンドルは毎回作り直すため)。
  • HTMLElement を継承したクラスの new(construct_object)は、this を DOM 要素の ハンドルにする。昇格中ならその要素、そうでなければ登録名で要素を作る。
  • 挿入・削除・複製は DomBridge::ce_queue に積まれ、Interp::process_ce_reactions が 昇格と connectedCallback/disconnectedCallback を行う(呼び出しの後にまとめて。 仕様の CEReactions に相当)。