Skip to main content

Module dom

Module dom 

Source

Structs§

OwnedGlyph ðŸ”’
1 文字ぶんの字圢を、フォントの錠を持たずに扱えるよう写したもの。

Enums§

DrawSrc ðŸ”’
drawImage の転送元。<img> ず別の canvas を扱う。

Functions§

arg ðŸ”’
arg_to_node ðŸ”’
匕数を DOM ノヌド idx に解決芁玠はそのたた、文字列はテキストノヌド生成。
canvas_arc
canvas_arg_f32 ðŸ”’
匕数を f32 で取る。非有限倀は 0 ずみなす描画系でパニックさせない。
canvas_begin_path
canvas_bezier_curve_to
canvas_clear_rect
canvas_clip
clip(fillRule)。珟圚のパスでクリップ領域を狭める。
canvas_close_path
canvas_ctx_id ðŸ”’
コンテキストオブゞェクトから registry の id を取り出す。
canvas_draw_image
drawImage(img, dx, dy) / (img, dx, dy, dw, dh) / (img, sx, sy, sw, sh, dx, dy, dw, dh)。
canvas_ellipse
ellipse(cx, cy, rx, ry, rotation, start, end, anticlockwise)。
canvas_fill
canvas_fill_rect
canvas_fill_text
fillText(text, x, y)。
canvas_font_size ðŸ”’
コンテキストの font から文字の倧きさpxを埗る。既定は 10px。
canvas_get_image_data
getImageData(x, y, w, h)。面の内容を読んで ImageData を返す。
canvas_line_to
canvas_measure_text
measureText(text)。
canvas_move_to
canvas_put_image_data
putImageData(imageData, dx, dy)。
canvas_quadratic_curve_to
canvas_rect
canvas_reset_transform
canvas_restore
restore() — 盎近の退避状態ぞ戻す。
canvas_rotate
canvas_round_rect
roundRect(x, y, w, h, radii)。
canvas_save
save() — 珟圚の描画状態を退避する。
canvas_scale
canvas_set_transform
setTransform(a,b,c,d,e,f) — 行列を眮き換える積たない。
canvas_stroke
canvas_stroke_rect
canvas_style_argb ðŸ”’
JS 偎のスタむル文字列を ARGB ぞ解決する。
canvas_sync_state ðŸ”’
描画前に、JS 偎で曞き換えられた状態をコンテキストぞ反映する。
canvas_transform
transform(a,b,c,d,e,f) — 珟圚の行列ぞ右から掛ける。
canvas_translate
char_data_chars ðŸ”’
CharacterData.appendData/.deleteData/.insertData/.replaceData/ .substringData䞞ごず未察応だった。2026-07-16 発芋。テキストノヌド のみに意味を持぀呌び出し元の interp.rs 偎で is_text ガヌド枈みため ここでは無条件にテキスト内容を読み曞きする。他の文字列系メ゜ッド str_slice/str_substringず同じ char 単䜍オフセットの簡略実装 UTF-16 コヌド単䜍ではない。
char_data_check_offset ðŸ”’
CharacterData線集メ゜ッド矀deleteData/insertData/replaceData/ substringDataは仕様䞊、offsetがlengthを超える堎合IndexSizeErrorを 投げるべきcount偎は超過分を自動的にクランプするだけで䟋倖にはならない が、以前はoffsetもlenぞ黙っおクランプしおしたい、範囲倖呌び出しが 垞に無害な no-opdeleteData/substringDataや末尟ぞの远蚘 insertDataずしお成立しおいた。table.insertRow等ず同じ「範囲倖 むンデックスの黙殺」バグ族の䞀぀。
computed_get_property_value
computedStyle.getPropertyValue(name): kebab-case のプロパティ倀を返す。
current_field_value ðŸ”’
珟圚の.value文字列を読むtextareaはvalue属性優先、無ければ initial_textにフォヌルバック。interp/dom_props.rsのvalue ゲッタヌず同じロゞック。
document_adopt_node
document.adoptNode(node)䞞ごず未察応だった。単䞀文曞のこの凊理系 では「別文曞から逊子瞁組する」ずいう意味は無いため、仕様の副䜜甚 珟圚の芪から取り倖すのみを再珟し、枡されたノヌドをそのたた返す。
document_create_attribute
document.createAttribute(name)䞞ごず未察応だった。getAttributeNode ず察になる、Attr ノヌドを新芏に䜜っおから setAttributeNode() で 芁玠ぞ取り付ける定番パタヌン。HTML 文曞のため仕様どおり名前を 小文字化し、倀は空文字列・ownerElement は null未取り付けで返す。
document_create_comment ðŸ”’
document_create_document_fragment ðŸ”’
document_create_element ðŸ”’
document_create_element_ns ðŸ”’
document.createElementNS(namespaceURI, qualifiedName)䞞ごず未察応 だった。SVG 芁玠document.createElementNS('http://www.w3.org/2000/svg', 'circle') 等を JS から動的生成する暙準的な定番パタヌン。この凊理系は *AttributeNS 系ず同じく XML 名前空間を䞀切モデル化しおいないため、 第1匕数namespaceは無芖しお非 NS 版の createElement ぞ委譲する 簡略実装倚くの実甚コヌドは SVG 名前空間しか枡さないため実害は小さい。
document_create_text_node ðŸ”’
document_element_from_point ðŸ”’
document_elements_from_point ðŸ”’
document_get_element_by_id ðŸ”’
document_import_node
document.importNode(externalNode, deep)䞞ごず未察応だった。 <template> の䞭身を耇補しお自文曞ぞ取り蟌む定番パタヌン document.importNode(template.content, true) で䜿われる。この凊理系は 単䞀文曞耇数 Document オブゞェクトずいう抂念自䜓が無いのため、 「別文曞から取り蟌む」ずいう仕様䞊の意味は無く、実質 node.cloneNode(deep) ず同じ結果になる簡略実装。仕様䞊 deep は省略時 false だが、実務では ほが垞に明瀺的に true が枡される。
document_query_selector ðŸ”’
document_query_selector_all ðŸ”’
dom_add_event_listener
dom_after
element.after(
nodes)自身の埌に兄匟ずしお挿入。
dom_append
dom_append_child
dom_before
element.before(
nodes)自身の前に兄匟ずしお挿入。
dom_blur
element.blur()HTML5。䞞ごず未察応だった。dom_focus の察。自身が 珟圚のフォヌカス察象である堎合のみ解陀しお blur/focusout を発火する 仕様どおり、フォヌカスされおいない芁玠での .blur() は no-op。
dom_canvas_create_gradient
<canvas> 2D context の createLinearGradient / createRadialGradient / createConicGradient のヘルパヌ。
dom_canvas_create_image_data
createImageData は透明で埋めた新しい ImageData を返す仕様。 面の内容は読たない。getImageData ず混同しないこず。
dom_canvas_get_context
<canvas> 芁玠の getContext(contextId, options?) (HTML5 Canvas 2D Context API)。
dom_canvas_get_image_data
dom_canvas_get_line_dash
dom_canvas_get_transform
dom_canvas_is_point_in_path
dom_canvas_measure_text
<canvas> 2D context の measureText(text) メ゜ッドの実装。
dom_canvas_reset
<canvas> 2D context の reset() メ゜ッド (WHATWG HTML Standard)。
dom_canvas_round_rect
dom_canvas_set_line_dash
dom_canvas_to_blob
<canvas> 芁玠の toBlob(callback, type, quality) (HTML5 Canvas)。
dom_canvas_to_data_url
<canvas> 芁玠の toDataURL(type, quality) (HTML5 Canvas)。
dom_char_data_append
dom_char_data_delete
dom_char_data_insert
dom_char_data_replace
dom_char_data_substring
dom_check_validity
element.checkValidity() / reportValidity(): 珟圚倀で制玄バリデヌションを実行し、 劥圓なら true、違反があれば false を返す。 invalid むベントはフォヌム送信経路 submit_form 偎で WebEngine が発火する。 Interp からは DOM むベント発火経路が無いため、ここでは bool 刀定のみ。 重芁: <form> 自身に察する checkValidity() が、フォヌムの子孫コントロヌル を䞀切芋ず validate_field(form_idx, ...) を盎接呌んでいたため、<form> タグは type が email/url/number のいずれにも䞀臎せず垞に無条件で true劥圓を 返しおしたうバグだったWebEngine::submit_form 偎は descendants_by_tags で 子孫を正しく走査しおいたのに、JS から呌ぶ checkValidity() だけが非察称だった。
dom_check_visibility
dom_classlist_add
dom_classlist_contains
dom_classlist_entries
classList.entries()/.keys()/.values()䞞ごず未察応だった。DOMTokenList は仕様䞊 forEach/Symbol.iterator に加えこの3メ゜ッドも持぀が、forEachず for-of 反埩iterable_valuesのみ配線され、これらの明瀺むテレヌタ取埗 メ゜ッドは未配線だった。Array.prototype の同名メ゜ッドず同じく既存の make_iterator ヘルパヌぞ委譲する薄い実装。
dom_classlist_for_each
classList.forEach(fn)䞞ごず未察応だった。DOMTokenList は仕様䞊むテラブル/ forEach を持぀配列颚のオブゞェクトだが、この凊理系の classList は専甚の Host("classList:N") プロキシで衚珟されおおり、Symbol.iterator/forEach が 䞀切配線されおいなかった。for (const c of el.classList) も同じ理由で垞に 䜕も反埩しない黙殺バグだった — iterate_values() 偎の修正ず察。
dom_classlist_keys
dom_classlist_remove
dom_classlist_replace
classList.replace(oldClass, newClass)。old があれば new に眮換し true、無ければ false。
dom_classlist_supports
classList.supports(token)DOM Standard §4.3。
dom_classlist_toggle
classList.toggle(name, force)。以前は第2匕数 force真停倀を枡すず珟圚の状態に 関係なく匷制的に付䞎/陀去するを完党に無芖し、垞に単玔なトグルだけを行っおいた el.classList.toggle('active', isActive) ずいう定番パタヌンが動かなかった。
dom_classlist_values
dom_click
dom_clone_node
node.cloneNode(deep)。耇補ノヌド芪なしを返す。
dom_closest
closest(selector): 自身を含め祖先方向ぞ最初にマッチする芁玠。無ければ null。
dom_compare_document_position
node.compareDocumentPosition(other)DOM暙準が䞞ごず未察応だった。 DomBridge::document_position にビットマスク蚈算を委譲する。other が DOM ノヌドで なければ仕様䞊 TypeError だが、この凊理系では簡略化しお disconnected 扱いにする。
dom_contains
node.contains(other)DOM 暙準。other が node 自身たたは子孫かどうか。 click-outside 刀定などで広く䜿われるが䞞ごず未察応だった。既存の is_ancestor_of() は「idx 自身は含たない」仕様のため、仕様どおり自身も 含めるにはここで等䟡チェックを補う。
dom_dialog_close
dialog.close(returnValue?)。open 属性を倖し、returnValue を蚭定しおから close むベントを発火する仕様どおり。DOM 芁玠は汎甚の Obj.props ではなく interp.rs 偎の明瀺的なプロパティ䞀芧を介しおアクセスされるため、checked/ indeterminate ず同じ「内郚専甚の _ プレフィックス属性キヌ」パタヌン _return_valueで持たせるthis.props ぞ盎接曞いおも読み出し経路が 無く反映されない。
dom_dialog_request_close
dom_dialog_show
dialog.show()<dialog> が䞞ごず未察応だった。open 属性を付ける だけの簡略実装。
dom_dialog_show_modal
dialog.showModal()。以前は.show()ず党く同じdom_dialog_showを共有しお おり、モヌダル/非モヌダルの区別自䜓が存圚しなかったshowModal()本来の モヌダルフォヌカストラップ・::backdrop描画は䟝然察象倖だが察象倖。CSS :modal疑䌌クラス䞞ごず未察応だった。2026-07-18 発芋・実装が刀定 できるよう、open属性に加え:fullscreenず同じ内郚専甚属性パタヌンで _modalを曞き蟌む点だけが.show()ず異なる。
dom_dispatch_event
element.dispatchEvent(ev): ev.type のむベントを圓該芁玠から発火する。 戻り倀は !defaultPreventedDOM 仕様。
dom_element_get_elements_by_class_name
element.getElementsByClassName(name)document.getElementsByClassName は 察応枈みだったが、芁玠むンスタンス版が䞞ごず未察応だった。querySelectorAll ず 同じ「自身の子孫のみに絞り蟌む」ロゞックを再利甚する。
dom_element_get_elements_by_tag_name
element.getElementsByTagName(tag)䞊蚘ず同じ理由で䞞ごず未察応だった。
dom_element_get_elements_by_tag_name_ns
element.getElementsByTagNameNS(namespace, localName)䞞ごず未察応だった。
dom_element_query_selector
element.querySelector: 子孫に限定しお最初にマッチする芁玠。:scope Selectors Level 4。䞞ごず未察応だったは呌び出し元の芁玠自身を指す。
dom_element_query_selector_all
element.querySelectorAll: 子孫に限定しおマッチする芁玠配列。:scope Selectors Level 4。䞞ごず未察応だったは呌び出し元の芁玠自身を指す。
dom_focus
element.focus()HTML5。䞞ごず未察応だった。document.activeElement ず察になる曞き蟌み偎。以前は scrollIntoView ず同じ no-op で document.activeElement が垞に null 固定になっおいた。DomBridge:: focused_idx を盎接曎新し、仕様どおりの順序旧芁玠の blur/ focusout → 新芁玠の focus/focusinでむベントを発火する。レンダラ偎 の WebEngine::focused_id実クリック/autofocus 甚の文字列キヌ版状態 ずの同期は察象倖詳现は DomBridge::focused_idx のコメント参照。
dom_form_reset
form.reset()HTML5の実装。 フォヌム芁玠配䞋のすべおの <input>, <select>, <textarea> のフォヌムラむブ倀を初期状態にリセットする。
dom_get_attribute
dom_get_attribute_names
dom_get_attribute_node
element.getAttributeNode(name)䞞ごず未察応だった。getAttribute より叀い/䜎レベルな Attr ノヌド経由の定番むディオム。この凊理系には Attr 専甚の内郚衚珟が無いため、element.attributes ず同じ {name, value, ownerElement} の簡略オブゞェクトを返す。
dom_get_attribute_node_ns
element.getAttributeNodeNS(namespace, localName)䞞ごず未察応だった。 他の *AttributeNS ず同じく namespace 匕数は無芖し localName で怜玢する。
dom_get_attribute_ns
getAttributeNS/setAttributeNS/hasAttributeNS/removeAttributeNS 䞞ごず未察応だった。SVG 等で setAttributeNS(null, 'viewBox', ...) のように 䜿われる定番むディオム。この凊理系は XML 名前空間を䞀切モデル化しおいないため、 第1匕数namespaceは無芖しお非 NS 版ず同じ属性ストアぞ委譲する簡略実装 倚くの実甚コヌドは namespace に null を枡すため実害は小さい。
dom_get_bounding_client_rect
dom_get_client_rects
element.getClientRects()DOM 暙準。䞞ごず未察応だった。本来は行ボックス 単䜍で耇数の DOMRect を返すが、この凊理系にはテキストの行フラグメント モデル自䜓が無いtext-overflow/むンラむン折返し等ず同じ既存の簡略化ず 同方針ため、芁玠1぀に぀き getBoundingClientRect() ず同じ矩圢を0個 未レンダリングか1個だけ持぀配列ずしお返す。
dom_get_html
element.insertAdjacentHTML(position, html)。 element.getHTML(options?)DOM。innerHTMLゲッタヌの明瀺的メ゜ッド版 ずしお2024幎頃に暙準化。䞞ごず未察応だった。仕様䞊のoptions {serializableShadowRoots, shadowRoots}はShadow DOM自䜓が この凊理系に存圚しないため意味を持たず無芖する。innerHTMLず党く同じ get_inner_htmlをそのたた呌ぶだけの簡略実装。2026-07-18 発芋・実装。
dom_get_root_node
node.getRootNode()DOM暙準。el.getRootNode() === document ずいう 「接続枈みか」の定番刀定や、shadow DOM 察応コヌドの分岐で䜿われるが䞞ごず 未察応だった。この凊理系は shadow DOM を持たないため、芪を蟿れる限り蟿った 最䞊䜍ノヌドを返す単玔な実装で仕様の意図最も遠い祖先を満たす。
dom_handle ðŸ”’
芁玠ハンドルを Value にしお返す。idx が無ければ null。
dom_has_attribute
dom_has_attribute_ns
dom_has_attributes
element.hasAttributes()䞞ごず未察応だった。単䞀属性の有無を芋る hasAttribute(name) は既に実装枈みだったが、「1぀でも属性を持぀か」を芋るこちらが挏れおいた。
dom_has_child_nodes
node.hasChildNodes()䞞ごず未察応だった。node.childNodes.length > 0 の定番の手間を省くメ゜ッド。
dom_has_pointer_capture
element.hasPointerCapture(pointerId)。
dom_hide_popover
dom_hit_test ðŸ”’
座暙 (x, y) を含む矩圢を持぀芁玠を、面積が小さい最も深くネストした 順に列挙する共通ヘルパヌ。elementFromPoint/elementsFromPoint で共有。
dom_img_decode
img.decode()䞞ごず未察応だった。2026-07-17 発芋。実デコヌド成吊を 远跡する経路が無いため、completeゲッタヌず同じ「srcがあれば ロヌド詊行枈み」前提で、srcがあれば解決・無ければDOMException ("EncodingError")で拒吊するPromiseを返す簡略実装。
dom_insert_adjacent_element
element.insertAdjacentElement(position, element)。
dom_insert_adjacent_html
dom_insert_adjacent_text
element.insertAdjacentText(position, text)。
dom_insert_before
parent.insertBefore(newChild, refChild)。ref が null/undefined なら末尟。
dom_is_default_namespace
dom_is_equal_node
node.isEqualNode(other)䞞ごず未察応だった。参照ではなく構造的な等䟡性 — タグ名/属性/子芁玠が党お䞀臎するか — を芋る DOM 暙準メ゜ッド。既存の outerHTML シリアラむズを再利甚し、文字列ずしお䞀臎するかで近䌌する 属性は BTreeMap 由来で垞に同じ順序にシリアラむズされるため、挿入順序に 䟝存しない安定した比范になる。
dom_is_same_node
node.isSameNode(other)䞞ごず未察応だった。DOM 暙準の参照同䞀性刀定。=== ず 同矩だが、DOM ノヌドを扱うラむブラリで明瀺的に䜿われる定番メ゜ッド。
dom_lookup_namespace_uri
element.checkVisibility()DOM 暙準。䞞ごず未察応だった。オプション匕数 checkOpacity/checkVisibilityCSS/contentVisibilityAuto 等は未察応で 垞に無芖する簡略実装。自身の算出 visibility が hidden/collapse の堎合、 および自身たたは祖先のいずれかの算出 display が none の堎合に false を返す。 node.lookupNamespaceURI(prefix)/.lookupPrefix(namespace)/ .isDefaultNamespace(namespace)䞞ごず未察応だった。2026-07-16 発芋。この凊理系は *AttributeNS/createElementNS ず同じく XML 名前空間を䞀切モデル化しおいないdocument_create_element_ns は namespace 匕数を無芖しお委譲するのみため、xmlns/xmlns:* 属性を 祖先チェヌンから探玢する誠実な実装は行わず、垞に「名前空間なし」を衚す 倀lookupNamespaceURI/lookupPrefix は nullを返す簡略実装。 isDefaultNamespace(namespace) は仕様䞊 lookupNamespaceURI(null) === namespace ず等䟡なので、lookupNamespaceURI が垞に null を返す このモデルでは namespace が null/undefined の時のみ true になる。
dom_lookup_prefix
dom_matches
dom_matrix_ctor ðŸ”’
new DOMMatrix([init]) / DOMMatrixReadOnly (Geometry Interfaces Module Level 1) 2D / 3D 倉換行列コンストラクタ。
dom_matrix_invert
dom_matrix_invert_self
dom_matrix_multiply
dom_matrix_multiply_self
dom_matrix_rotate
dom_matrix_rotate_self
dom_matrix_scale
dom_matrix_scale_self
dom_matrix_skew_x
dom_matrix_skew_x_self
dom_matrix_skew_y
dom_matrix_skew_y_self
dom_matrix_to_string
dom_matrix_transform_point
dom_matrix_translate
dom_matrix_translate_self
dom_move_before
parent.moveBefore(movedNode, referenceNode)DOM。2025幎にChromeぞ 実装が入った比范的新しいAPI。䞞ごず未察応だった。仕様䞊の䞻県は 「remove()しおからinsertBefore()する」堎合ず異なり、<iframe>の 読み蟌み状態・<video>の再生状態・カスタム芁玠のラむフサむクル コヌルバック発火等を保持したたた朚構造内を移動できる点にあるが、 この凊理系にはそれらの「保持すべき生きた状態」自䜓が実装されお いない<iframe>は実際のナビゲヌション状態を持たず、<video>は 実再生をしない等ため、実務䞊はinsertBeforeず同じ「detachしおから 指定䜍眮ぞ挿入」のinsert_beforedom_bridge.rs。既に自動で元の 芪から倖す実装をそのたた再利甚する誠実な簡略実装で十分に仕様どおり 動䜜する。referenceNodenull可がthisの子でない堎合は insertBeforeず同じNotFoundError芏則を螏襲。2026-07-18 発芋・実装。
dom_noop
無害な no-op未察応 API 甚。
dom_normalize
node.normalize()䞞ごず未察応だった。連続する隣接テキストノヌドを1぀に連結し、 空のテキストノヌドを取り陀く DOM 暙準メ゜ッド。
dom_parser_ctor
DOMParser コンストラクタ。
dom_parser_parse_from_string
DOMParser.prototype.parseFromString(str, type) DOM Parsing and Serialization §4.1。 入力された HTML 文字列を parse_html でパヌスし、DomBridge ぞ組み蟌んで文曞ノヌドを返华する。
dom_path2d_ctor
Path2D コンストラクタ (WHATWG HTML Canvas 2D Path2D API)。
dom_point_ctor ðŸ”’
new DOMPoint(x, y, z, w)幟䜕圢䜓プリミティブ。2026-07-17 発芋、2026-07-21 拡匵。 仕様どおり z/w 省略時の既定倀はそれぞれ 0/1。DOMPointReadOnly も同圢状で代甚。 matrixTransform(matrix) で DOMMatrix による座暙倉換に察応。
dom_point_from_point ðŸ”’
dom_point_matrix_transform
dom_prepend
element.prepend(
nodes)先頭に耇数远加順序保持。
dom_quad_ctor ðŸ”’
new DOMQuad(p1, p2, p3, p4) (Geometry Interfaces Module Level 1)
dom_quad_get_bounds
dom_rect_ctor ðŸ”’
(x,y,w,h) から DOMRect 盞圓のプレヌンオブゞェクトを組み立おる。 getBoundingClientRect/getClientRects で共有する。 new DOMRect(x, y, width, height)䞞ごず未察応だった。手動で矩圢を 構築する定番パタヌン。2026-07-17 発芋。getBoundingClientRect()が 返すmake_dom_rectず同じプロパティ圢状x/y/left/top/ width/height/right/bottomだが、匕数は敎数䞞め無しの浮動小数 点のたた保持する手動構築ではサブピクセル倀も仕様䞊有効なため。 DOMRectReadOnlyも同じ圢状のため区別せず同䞀コンストラクタで代甚する 簡略実装fromRect静的メ゜ッド・曞き蟌み可胜プロパティの違いは 察象倖。
dom_rect_from_rect ðŸ”’
dom_release_pointer_capture
element.releasePointerCapture(pointerId)。
dom_remove
element.remove()ChildNode.remove()。匕数無しで自身を芪から取り倖す。 ただし<select>だけはHTMLSelectElement.remove(index)ずいう別物の オヌバヌロヌドを持ち、数倀匕数が枡された堎合は「自身を削陀」ではなく 「指定むンデックスのoptionを削陀」ずいう党く異なる意味になる仕様䞊の 別メ゜ッドがたたたた同名なだけ。以前はこの区別が無く、select.remove(1) が垞にselect自身を芪から削陀しおしたうoptions偎の削陀ではなく バグだった。
dom_remove_attribute
dom_remove_attribute_node
element.removeAttributeNode(attr)。attr.name の属性を削陀し、削陀した Attr ノヌドを返す仕様䞊、未存圚なら NotFoundError だがこの凊理系は 䟋倖機構が限定的なため簡略化し null を返す。
dom_remove_attribute_ns
dom_remove_child
dom_remove_event_listener
element.removeEventListener(type, fn, opts): 䞀臎するリスナを削陀する。
dom_replace_child
parent.replaceChild(newChild, oldChild)。眮換された old を返す。
dom_replace_children
element.append(
nodes)末尟に耇数远加文字列はテキスト。 element.replaceChildren(...nodes)DOM 暙準。el.innerHTML=''; el.append(...) の1行版ずしお䜿われる定番むディオムが䞞ごず未察応だった。既存の set_inner_html(idx, "")子を䞞ごずクリアず append/arg_to_node ず同じ 「文字列は text node、DOM ノヌドはそのたた」倉換を組み合わせお実装する。
dom_replace_with
element.replaceWith(
nodes)自身を nodes で眮換。
dom_request_submit
form.requestSubmit(submitter?)HTML5が䞞ごず未察応だった。既存の dom_click ず同じ dispatch_event_in_interp 経由で submit むベントを 発火するpreventDefault() で䞭止可胜。submitter 匕数は珟状無芖。
dom_scroll_by
element.scrollBy(x, y)/.scrollBy({top, left})。珟圚倀からの盞察移動である点 のみ scrollTo ず異なる。
dom_scroll_into_view
element.scrollIntoView()/.scrollIntoView({behavior, block})が䞞ごず no-opだったHTML Standard §“scroll into view“の簡略実装が䞞ごず欠萜。 実サむト www.sugi-lab.net のナビゲヌションリンクtarget.scrollIntoView( {behavior:'smooth', block:'start'})が完党に無効化されおおり、クリック しおも䞀切スクロヌルしないずいう実害があった。2026-07-22発芋・修正。 既存のwindow.scrollToず同じpending_scroll_abs_y機構render.rsの draw()冒頭で消費・fire_scroll()呌び出したで行う、既に動䜜確認枈みの 経路を再利甚する。察象芁玠の珟圚のビュヌポヌト盞察Y座暙 get_rect。getBoundingClientRectず同じ倀に珟圚のスクロヌル量 window.scrollYを加算し、文曞内の絶察Y座暙を求めお芁玠の䞊端が ビュヌポヌト䞊端に来るようにスクロヌルするblock:'start'盞圓。 center/end/nearestは簡略化しすべおstartず同䞀芖する。behavior は既存のscrollToず同様、実時間アニメヌションの抂念が無いため即座に 反映する。
dom_scroll_to
dom_select_add
select.add(element, before)HTMLSelectElement盎䞋の䟿利メ゜ッド。 select.options.addず党く同じ意味だが、thisがoptionsコレクション 配列ではなく<select>芁玠自身になる点だけが違う。䞞ごず未察応 だった。select_options_addずほが同じロゞックだが、_select_idx 隠しプロパティ経由ではなくthis_dom_idxで盎接<select>のむンデックス を取る。2026-07-18 発芋・実装。
dom_set_attribute
dom_set_attribute_node
element.setAttributeNode(attr)。attr.name/attr.value を読み取っお 通垞の setAttribute ず同じストアぞ反映する。戻り倀は仕様䞊「眮換された 旧 Attr ノヌド無ければ null」。
dom_set_attribute_ns
dom_set_custom_validity
element.setCustomValidity(msg): カスタム怜蚌メッセヌゞを蚭定。空文字でクリア。 内郚的には隠し属性 _custom_validity に保存し、validate_field が最優先で参照する。
dom_set_html_unsafe
element.setHTMLUnsafe(html)DOM。innerHTMLセッタヌのTrusted Types怜蚌を明瀺的にバむパスする版ずしお暙準化。䞞ごず未察応だった。 この凊理系にはTrusted Typesの匷制自䜓が実装されおいないため、 innerHTMLセッタヌず党く同じset_inner_htmlをそのたた呌ぶだけの 簡略実装で仕様䞊の可芖的な違いは無い。2026-07-18 発芋・実装。
dom_set_pointer_capture
element.getBoundingClientRect(): レむアりト埌の矩圢DomBridge.rects、ペヌゞ座暙から DOMRect 颚オブゞェクト {x,left,y,top,width,height,right,bottom} を返す。未登録なら 0。 element.setPointerCapture(pointerId)Pointer Events。䞞ごず未察応 だった。ドラッグ操䜜で el.setPointerCapture(e.pointerId) する定番 パタヌン。
dom_set_range_text
input/textarea.setRangeText(replacement, start?, end?, selectMode?) 䞞ごず未察応だった。2026-07-17 発芋・実装。start/end省略時は 珟圚のselectionStart/.selectionEndを䜿う仕様どおり。 selectModeは"select"眮換埌の範囲を遞択/"start"キャレットを 眮換範囲の先頭ぞ/"end"末尟ぞ、既定/"preserve"元の遞択䜍眮を 維持しようず詊みるに察応する簡略実装。
dom_set_selection_range
input/textarea.setSelectionRange(start, end, direction?)䞞ごず 未察応だった。selectionStart/.selectionEnd/.selectionDirection ず察になる䞀括蚭定メ゜ッド。2026-07-17 発芋・実装。3プロパティぞの 個別代入ず同じ内郚専甚属性ぞたずめお保存する簡略実装。
dom_show_popover
dom_split_text
Text.splitText(offset)䞞ごず未察応だった。2026-07-16 発芋。 CharacterData線集メ゜ッド矀の隣で発芋。テキストノヌドをoffset䜍眮で 2぀に分割し、埌半を新しいテキストノヌドずしお盎埌の兄匟に挿入しお返す 仕様どおりの動䜜。char_data_charsず同じ char 単䜍オフセットの簡略実装。
dom_step_by ðŸ”’
input.stepUp(n?)/.stepDown(n?)HTML5。<input type="number"/"range"> で倀を step 刻みで増枛する定番メ゜ッドが䞞ごず未察応だった。value/ step/min/max 属性を読み、min/max があればクランプしおから value 属性ぞ曞き戻すstep="any"等パヌス䞍胜な堎合は既定倀 1 に フォヌルバックする、この凊理系の他の数倀属性パヌスず同じ寛容な簡略化。
dom_step_down
dom_step_up
dom_style_get_property_priority
dom_style_get_property_value
dom_style_item
style.item(index)䞞ごず未察応だった。style.lengthず察。 get_css_textの盎列化文字列を;で分割し盎す簡略実装dom_props.rs のlengthゲッタヌず同じロゞック。
dom_style_remove_property
dom_style_set_property
thisHost(“classList:N”) などから prefix を剥がしお index を取り出す。 element.style.setProperty(name, value)/getPropertyValue(name)/removeProperty(name) が䞞ごず欠萜しおいた盎接のプロパティ代入 el.style.color = 'red' ず、 getComputedStyle().getPropertyValue() はあったが、むンラむンスタむルの メ゜ッド経由の読み曞きが無かった。特に CSS カスタムプロパティ--fooは camelCase のプロパティアクセサ経由では蚭定できないため、setProperty の欠萜は カスタムプロパティを䜿う実甚コヌドで特に圱響が倧きかった。
dom_stylesheet_delete_rule ðŸ”’
dom_stylesheet_insert_rule ðŸ”’
dom_table_create_caption
dom_table_create_tfoot
dom_table_create_thead
dom_table_delete_caption
dom_table_delete_cell
dom_table_delete_row
dom_table_delete_tfoot
dom_table_delete_thead
dom_table_insert_cell
dom_table_insert_row
HTML5 Table DOMtable.insertRow/.deleteRow/.rows、tr.insertCell/ .deleteCell/.cellsが䞞ごず未察応だった2026-07-17 発芋。select. options.add/.remove ず同じ「動的に構築する」定番むディオム。thead/ tbody/tfoot を明瀺的にモデル化せず、垞に文曞順の descendants_by_tags で tr/td/th を集玄する簡略実装新芏行は「参照行の芪」既存の tbodyがあればその䞭、無ければtable盎䞋ぞ挿入する。
dom_toggle_attribute
element.toggleAttribute(name[, force]) → 操䜜埌の存圚を返す。
dom_toggle_popover
draw_src_from ðŸ”’
転送元の倀から画玠を取り出す。
get_computed_style ðŸ”’
getComputedStyle(el): 算出スタむルを読む host プロキシ computed:idx を返す。
get_num_prop ðŸ”’
glyphs_for ðŸ”’
文字列ぶんの字圢を取り出す。
html_collection_item
HTMLCollection.prototype.item(index)DOM Standard §4.2.1。
html_collection_named_item
HTMLCollection.prototype.namedItem(name)DOM Standard §4.2.1 / HTML Standard §4.10.21。 同名/同IDのコントロヌルが耇数ある堎合は RadioNodeList を返す。
make_attr_node ðŸ”’
element.attributesNamedNodeMap。{name,value} の簡略衚珟ず同じ 圢で Attr ノヌド盞圓のオブゞェクトを䜜る。ownerElement も含める。
make_dom_rect ðŸ”’
make_html_collection
HTMLCollection / HTMLFormControlsCollection オブゞェクトを生成するヘルパヌ。 配列機胜に加え、DOM Standard §4.2.1 に準拠しお item(index) および namedItem(name) メ゜ッドを持぀。
make_radio_node_list
RadioNodeList オブゞェクトを生成するヘルパヌHTML Standard §4.10.21.1。 配列構造に加え .value (getter/setter) アクセスおよび item(index) メ゜ッドをサポヌトする。
nv ðŸ”’
ネむティブ関数倀を䜜るショヌトカット。
option_ctor ðŸ”’
new Option(text?, value?, defaultSelected?, selected?)HTML5。䞞ごず 未察応だった。document.createElement('option') を土台に組み立おる。
parse_listener_opts ðŸ”’
addEventListener / removeEventListener の第3匕数を解釈する。 boolean なら capture フラグ、オブゞェクトなら {capture, once} を読む。
parse_listener_signal ðŸ”’
addEventListener(type, fn, {signal})䞞ごず未察応だったの signal オプションを取り出す。AbortSignal らしきオブゞェクトaborted プロパティ を持぀以倖は無芖する。
popover_toggle_extra ðŸ”’
element.showPopover()/.hidePopover()/.togglePopover(force?)Popover API。䞞ごず未察応だった。<dialog> の open 属性ず同じく、内郚専甚属性 _popover_openを付け倖しするだけの簡略実装css.rs 偎の UA 既定 display 切り替えず察。beforetoggle/toggle むベント発火・ :popover-open 疑䌌クラス・ラむトディスミスは察象倖。
scroll_top_target ðŸ”’
element.click()。以前は単なる no-op で、実際のクリック onclick/addEventListener('click', ...) リスナの発火を䞀切匕き起こさな かった。実マりス操䜜からも呌ばれる既存の dispatch_click() を再利甚する。 checkbox/radio は仕様䞊クリックするずリスナの実行前に自身の遞択状態が 切り替わる。以前は element.checked ずいう JS プロパティ自䜓が䞞ごず未実装 だったため、この状態切替もできおいなかった。重芁: 同じ name を持぀ ラゞオボタン間の排他遞択1぀を遞ぶず他が自動で解陀される、ラゞオボタンの 最も基本的な仕様䞊の挙動も以前は非察応の簡略化ずしお明瀺的に芋送られおいたが、 uncheck_radio_group_siblings を新蚭し配線した。 element.scrollTo(x, y)/.scrollTo({top, left, behavior}) が䞞ごず未察応 だった。element.scrollTop 自䜓は既に察応枈みscroll_tops に反映しお再描画 芁求する実装なので、それをそのたた呌び出す薄いラッパヌずしお実装する。 この凊理系に暪スクロヌルモデルは存圚しないため left/x は無芖するbehavior も同様、実時間アニメヌションの抂念が無いため即座に反映する簡略実装。
select_options_add
select.options.add(option, before?)HTML5 HTMLOptionsCollection。 動的にドロップダりンを構築する select.options.add(new Option(...)) ずいう 定番むディオムが、options が玠の配列メ゜ッドを䞀切持たないを返す だけだったため䞞ごず未察応TypeError: not a functionだった。options 取埗時に配列オブゞェクト自身ぞ _select_idx隠しプロパティ。既存の _is_headers/_ta_kind 等ず同じ内郚タグ付けパタヌンを仕蟌んでおき、 この配列を経由しお元の <select> を蟿れるようにする。before は仕様どおり 省略時は末尟远加、数倀ならその䜍眮の既存 option の前、<option> 芁玠 そのものでもよい。
select_options_named_item
select.options.namedItem(name)HTMLOptionsCollection。id/name 属性が䞀臎する <option> を探す定番メ゜ッド。芋぀からなければ仕様どおり null。
select_options_remove
select.options.remove(index)HTMLOptionsCollection。䞊蚘 add ず察に なる、指定むンデックスの <option> を取り陀く定番メ゜ッド。
split_css_rules ðŸ”’
table_create_section ðŸ”’
table.createTHead()/.createTFoot()/.createCaption()䞞ごず未察応 だった。2026-07-17 発芋。仕様䞊「既存の該圓芁玠があればそれを返す、 無ければ新芏䜜成しお挿入する」冪等な動䜜。盎接の子のみを察象ずする tHead/tFoot/captionゲッタヌず同じ制玄。captionは最初の子、 theadは最初の子captionの埌、tfootは最埌の子ずしお挿入する 簡略実装colgroupずの盞察䜍眮関係は厳密には察象倖。
table_delete_section ðŸ”’
this_dom_idx ðŸ”’
thisDOM 芁玠ハンドルからノヌド index を取り出す。
this_host_idx ðŸ”’
update_matrix_props ðŸ”’
xml_serializer_ctor ðŸ”’
new XMLSerializer()䞞ごず未察応だった。.serializeToString(node) ずいう定番パタヌン。
xml_serializer_serialize_to_string ðŸ”’
serializer.serializeToString(node)。既存の element.outerHTML ゲッタヌ interp.rsず同じ DomBridge::get_outer_html を再利甚するDOM 芁玠 ハンドルでない倀/未接続ノヌドは仕様の詳现な䟋倖分岐を省略し空文字列を返す 簡略実装。