Skip to main content

WebEngine

Struct WebEngine 

Source
pub struct WebEngine {
Show 109 fields pub engine_id: u64, pub active: bool, pub current_is_https: bool, pub current_host: String, pub current_path: String, pub current_url_with_hash: String, pub title: String, pub scroll_y: i32, pub max_scroll_y: i32, pub scroll_smooth: bool, pub scrollbar_width: ScrollbarWidth, pub scrollbar_color: Option<ScrollbarColor>, pub scrollbar_width_none: bool, pub scroll_anim_active: bool, pub scroll_anim_from: i32, pub scroll_anim_to: i32, pub scroll_anim_start_ms: f32, pub pending_fragment: String, pub elements: Vec<RenderElement>, pub dirty_reason: &'static str, pub links: Vec<HyperlinkArea>, pub history: Vec<(bool, String, String)>, pub forward_history: Vec<(bool, String, String)>, pub dirty: bool, pub form_values: BTreeMap<String, String>, pub initial_form_values: BTreeMap<String, String>, pub field_names: BTreeMap<String, String>, pub dom_contents: BTreeMap<String, String>, pub executing_script: bool, pub pending_scripts: Vec<(Option<String>, String)>, pub ready_complete_pending: bool, pub ready_interactive_at: u64, pub scripts_ran_for: Option<u32>, pub dom_needs_rebuild: bool, pub pending_reflow_since: usize, pub pending_reflow_last: usize, pub focused_id: Option<String>, pub focus_value: String, pub hovered_id: Option<String>, pub cursor_pos: usize, pub env: Env, pub js_runtime: JsRuntime, pub video_playing: bool, pub video_tick: u32, pub video_controls: MediaControlsState, pub background_image_urls: BTreeSet<String>, pub iframe_previews: BTreeMap<String, Option<Preview>>, pub loading: bool, pub loading_tick: u32, pub mouse_x: i32, pub mouse_y: i32, pub hovered_cursor_is_text: bool, pub hovered_cursor_kind: String, pub prev_btn_left: bool, pub mouse_btn_left_down: bool, pub prev_btn_right: bool, pub last_click_id: Option<String>, pub last_click_tick: usize, pub win_w: u32, pub win_h: u32, pub top_offset: i32, pub editor_wrap: bool, pub editor_scroll_y: i32, pub editor_scroll_x: i32, pub last_html: String, pub dragging_scrollbar: bool, pub image_cache: BTreeMap<String, Arc<DecodedImage>>, pub image_attempted: BTreeSet<String>, pub active_text_box: Option<TextBox>, pub focus_cursor_pos: usize, pub focus_caret_owner: String, pub page_bg_color: Option<u32>, pub page_text_color: Option<u32>, pub anim_engine: AnimationEngine, pub anim_specs: BTreeMap<String, (String, String)>, pub anim_prev_values: BTreeMap<String, BTreeMap<String, String>>, pub in_anim_relayout: bool, pub inherited_paint_z: i32, pub inherited_paint_depth: u32, pub inherited_positioned: bool, pub inherited_pos_count: u32, pub abs_marks: Vec<(usize, usize, u32)>, pub stack_prefix: Vec<(i32, u8, u32, u32)>, pub last_anim_layout_ms: f32, pub last_anim_relayout_end_ms: f32, pub last_dom_layout_ms: f32, pub last_dom_relayout_end_ms: f32, pub relayout_done_this_draw: bool, pub force_relayout: bool, pub scroll_regions: BTreeMap<String, i32>, pub scroll_regions_x: BTreeMap<String, i32>, pub dragging_sub_scrollbar: Option<String>, pub scroll_containers: Vec<(String, i32, i32, i32, i32, i32, ScrollbarWidth, Option<ScrollbarColor>)>, pub cached_css_key: String, pub cached_stylesheet: Option<Rc<StyleSheet>>, pub external_css_cache: Option<String>, pub external_css_counts: Option<(usize, usize, usize, usize, Vec<String>)>, pub osm_states: BTreeMap<String, MapState>, pub dragging_osm: Option<(String, i32, i32)>, pub selection: Option<SelectionRange>, pub selecting_anchor: Option<TextPosition>, pub is_selecting_text: bool, pub selection_style: SelectionStyle, pub referrer: String, pending_referer: Option<String>, pub child_frames: BTreeMap<String, Box<WebEngine>>, pub frame_depth: u32, pub frame_hits: Vec<(String, i32, i32, i32, i32)>, pub focused_frame: Option<String>,
}

Fields§

§engine_id: u64

このエンジン(タブ)の一意 ID。非同期ロードの結果分離に使う。

§active: bool§current_is_https: bool§current_host: String§current_path: String§current_url_with_hash: String

現在ページの完全URL(フラグメント #hash を含む)。アンカーナビの hashchange 発火で oldURL/newURL を組み立てる基準として使う。

§title: String§scroll_y: i32§max_scroll_y: i32§scroll_smooth: bool

html{scroll-behavior:smooth} が指定されているか(ルート要素の算出値から判定)。 アンカー/フラグメントナビゲーションのスクロールのみを対象とし、ホイール/スクロール バードラッグは対象外(実ブラウザでも scrollIntoView/アンカー遷移のみが対象)。

§scrollbar_width: ScrollbarWidth

html{scrollbar-width}(CSS Scrollbars Module Level 1。ルート要素の算出値から判定)。

§scrollbar_color: Option<ScrollbarColor>

html{scrollbar-color}(CSS Scrollbars Module Level 1。ルート要素の算出値から判定)。

§scrollbar_width_none: bool

html{scrollbar-width:none}(後方互換用。scrollbar_width == ScrollbarWidth::None と同期)。

§scroll_anim_active: bool

スムーススクロール進行中かどうか。

§scroll_anim_from: i32§scroll_anim_to: i32§scroll_anim_start_ms: f32§pending_fragment: String

【2026-08-03】URL のフラグメント(#id)。レイアウト完了後に 対象要素までスクロールするために保持する。適用したら空にする。

§elements: Vec<RenderElement>§dirty_reason: &'static str

【2026-08-01計測】dirty を最後に立てた箇所(ファイル:行)。 再描画が毎フレーム走る原因を特定するため。

§links: Vec<HyperlinkArea>§history: Vec<(bool, String, String)>§forward_history: Vec<(bool, String, String)>§dirty: bool§form_values: BTreeMap<String, String>§initial_form_values: BTreeMap<String, String>

element_id → HTML 由来の初期値。フォーム reset でこの値へ戻す。

§field_names: BTreeMap<String, String>

element_id → input の name 属性。フォーム送信時のパラメータ名に使う。

§dom_contents: BTreeMap<String, String>§executing_script: bool§pending_scripts: Vec<(Option<String>, String)>

次のフレームで実行する