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: boolhtml{scroll-behavior:smooth} が指定されているか(ルート要素の算出値から判定)。
アンカー/フラグメントナビゲーションのスクロールのみを対象とし、ホイール/スクロール
バードラッグは対象外(実ブラウザでも scrollIntoView/アンカー遷移のみが対象)。
scrollbar_width: ScrollbarWidthhtml{scrollbar-width}(CSS Scrollbars Module Level 1。ルート要素の算出値から判定)。
scrollbar_color: Option<ScrollbarColor>html{scrollbar-color}(CSS Scrollbars Module Level 1。ルート要素の算出値から判定)。
scrollbar_width_none: boolhtml{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)>次のフレームで実行する