Skip to main content

Module browser

Module browser 

Source
Expand description

AtmOS 内蔵 Webブラウザアプリ。

crate::os_lib::web_engine::WebEngine(HTML/CSS パーサ・レイアウト・レンダラ・ JavaScript 連携)をタブごとに1インスタンス保持し、戻る/進む/アドレスバー等の ブラウザ UI を提供する。各タブは完全に独立した WebEngine を持つため (TabSlot)、タブ切替時にネットワーク再取得は発生しない。

詳細なアーキテクチャ・座標規約・境界仕様は spec/DESIGN.md §3「ブラウザエンジン アーキテクチャ」を参照。

Structs§

TabSlot 🔒
タブごとのページ状態を保存する 各タブのスロット。タブごとに独立した WebEngine を保持する(完全分離方式)。 アクティブタブの engine は WebBrowser::engine(ライブ)へ「チェックアウト」され、 このスロットの engineNone になる。非アクティブタブは描画済み DOM・スクロール・ フォーム入力をそのまま保持するため、タブ切替でネットワーク再取得は発生しない。
WebBrowser

Constants§

CONTROL_BAR_H 🔒
コントロールバー (戻る/進む/アドレスバー等) の高さ。 コンテンツ描画の開始 Y 座標でもあり、描画・クリック判定・レイアウトが共通参照する。

Statics§

GLOBAL_BROWSER 🔒
REDRAW_DIRTY 🔒
REDRAW_IMG 🔒
REDRAW_LOADING 🔒
【2026-08-01計測】再描画に入った理由の内訳。 描画 1 回が約 130 tick かかるので、冗長な再描画は直接コストになる。
REDRAW_VIDEO 🔒
RENDER_DIRTY 🔒
RENDER_LOADING 🔒
【2026-08-01計測】needs_render が true を返した理由の内訳。
SVG_BACK 🔒
SVG_FORWARD 🔒
SVG_HOME 🔒
SVG_RELOAD 🔒
SVG_SHIELD_SECURE 🔒
SVG_SHIELD_WARN 🔒

Functions§

get_instance
hovered_cursor_is_text
CSS cursor: text の要素上にマウスがあるか(OS 側の実マウスカーソル形状決定用)。
init
is_active
log_redraw_reasons
内訳をログへ出す(描画側から一定間隔で呼ぶ)。
needs_render
render_home 🔒
OS 内蔵の静的ホームページをエンジンへロードする(ネットワーク不要)。