web_extensions_sys/
runtime.rs1use crate::{EventTarget, Port};
2use js_sys::Object;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern "C" {
7 pub type Runtime;
8
9 #[wasm_bindgen(catch, method, js_name = sendMessage)]
10 pub async fn send_message(
11 this: &Runtime,
12 extension_id: Option<&str>,
13 message: &JsValue,
14 options: Option<&Object>,
15 ) -> Result<JsValue, JsValue>;
16
17 #[wasm_bindgen(catch, method, js_name = sendNativeMessage)]
18 pub async fn send_native_message(
19 this: &Runtime,
20 application: &str,
21 message: &Object,
22 ) -> Result<JsValue, JsValue>;
23
24 #[wasm_bindgen(method)]
25 pub fn connect(this: &Runtime, extension_id: Option<&str>, connect_info: &Object) -> Port;
26
27 #[wasm_bindgen(method, getter, js_name = onMessage)]
28 pub fn on_message(this: &Runtime) -> EventTarget;
29
30 #[wasm_bindgen(method, getter, js_name = onConnect)]
31 pub fn on_connect(this: &Runtime) -> EventTarget;
32
33 #[wasm_bindgen(method, getter, js_name = onInstalled)]
34 pub fn on_installed(this: &Runtime) -> EventTarget;
35
36 #[wasm_bindgen(method, js_name = setUninstallURL)]
37 pub fn set_uninstall_url(this: &Runtime, url: &str);
38
39 #[wasm_bindgen(method, js_name = openOptionsPage)]
40 pub fn open_options_page(this: &Runtime);
41
42 #[wasm_bindgen(method, getter, js_name = lastError)]
43 pub fn last_error(this: &Runtime) -> Option<js_sys::Error>;
44}