electron_sys/module/
web_frame.rs

1use crate::interface::{ResourceUsage, SpellCheckProvider, WorldInfo};
2use js_sys::{JsString, Number, Promise};
3use node_sys::EventEmitter;
4use wasm_bindgen::prelude::*;
5
6#[wasm_bindgen(module = "electron")]
7extern {
8    #[wasm_bindgen(extends = EventEmitter)]
9    pub type WebFrame;
10
11    #[wasm_bindgen(js_name = "webFrame")]
12    pub static web_frame: WebFrame;
13
14    //******************//
15    // Instance Methods //
16    //******************//
17
18    #[wasm_bindgen(method, js_name = "clearCache")]
19    pub fn clear_cache(this: &WebFrame);
20
21    #[must_use]
22    #[wasm_bindgen(method, js_name = "executeJavaScript")]
23    pub fn execute_java_script(this: &WebFrame, code: &str, user_gesture: Option<bool>) -> Promise;
24
25    #[wasm_bindgen(method, js_name = "executeJavaScriptInIsolatedWorld")]
26    pub fn execute_java_script_in_isolated_world(
27        this: &WebFrame,
28        world_id: u32,
29        scripts: Box<[JsValue]>,
30        user_gesture: Option<bool>,
31    ) -> Promise;
32
33    #[wasm_bindgen(method, js_name = "findFrameByName")]
34    pub fn find_frame_by_name(this: &WebFrame, name: &str) -> WebFrame;
35
36    #[wasm_bindgen(method, js_name = "findFrameByRoutingId")]
37    pub fn find_frame_by_routing_id(this: &WebFrame, routing_id: u32) -> WebFrame;
38
39    #[wasm_bindgen(method, js_name = "getFrameForSelector")]
40    pub fn get_frame_for_selector(this: &WebFrame, selector: &str) -> WebFrame;
41
42    #[wasm_bindgen(method, js_name = "getResourceUsage")]
43    pub fn get_resource_usage(this: &WebFrame) -> ResourceUsage;
44
45    #[wasm_bindgen(method, js_name = "getZoomFactor")]
46    pub fn get_zoom_factor(this: &WebFrame) -> Number;
47
48    #[wasm_bindgen(method, js_name = "getZoomLevel")]
49    pub fn get_zoom_level(this: &WebFrame) -> Number;
50
51    #[wasm_bindgen(method, js_name = "insertCSS")]
52    pub fn insert_css(this: &WebFrame, css: &str) -> JsString;
53
54    #[wasm_bindgen(method, js_name = "insertText")]
55    pub fn insert_text(this: &WebFrame, text: &str);
56
57    #[wasm_bindgen(method, js_name = "removeInsertedCSS")]
58    pub fn remove_inserted_css(this: &WebFrame, key: &str);
59
60    #[wasm_bindgen(method, js_name = "setIsolatedWorldInfo")]
61    pub fn set_isolated_world_info(this: &WebFrame, world_id: u32, info: WorldInfo);
62
63    #[wasm_bindgen(method, js_name = "setLayoutZoomLevelLimits")]
64    pub fn set_layout_zoom_level_limits(this: &WebFrame, min: &Number, max: &Number);
65
66    #[wasm_bindgen(method, js_name = "setSpellCheckProvider")]
67    pub fn set_spell_check_provider(this: &WebFrame, language: &str, provider: SpellCheckProvider);
68
69    #[wasm_bindgen(method, js_name = "setVisualZoomLevelLimits")]
70    pub fn set_visual_zoom_level_limits(this: &WebFrame, min: &Number, max: &Number);
71
72    #[wasm_bindgen(method, js_name = "setZoomFactor")]
73    pub fn set_zoom_factor(this: &WebFrame, factor: &Number);
74
75    #[wasm_bindgen(method, js_name = "setZoomLevel")]
76    pub fn set_zoom_level(this: &WebFrame, level: &Number);
77
78    //*********************//
79    // Instance Properties //
80    //*********************//
81
82    #[wasm_bindgen(method, getter, js_name = "firstChild")] // readonly
83    pub fn first_child(this: &WebFrame) -> Option<WebFrame>;
84
85    #[wasm_bindgen(method, getter, js_name = "nextSibling")] // readonly
86    pub fn next_sibling(this: &WebFrame) -> Option<WebFrame>;
87
88    #[wasm_bindgen(method, getter)] // readonly
89    pub fn opener(this: &WebFrame) -> Option<WebFrame>;
90
91    #[wasm_bindgen(method, getter)] // readonly
92    pub fn parent(this: &WebFrame) -> Option<WebFrame>;
93
94    #[wasm_bindgen(method, getter, js_name = "routingId")] // readonly
95    pub fn routing_id(this: &WebFrame) -> u32;
96
97    #[wasm_bindgen(method, getter)] // readonly
98    pub fn top(this: &WebFrame) -> Option<WebFrame>;
99}