web_extensions_sys/
port.rs1use crate::{EventTarget, Tab};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5extern "C" {
6 #[derive(Debug, Clone)]
7 pub type MessageSender;
8
9 #[wasm_bindgen(method, getter)]
10 pub fn tab(this: &MessageSender) -> Option<Tab>;
11
12 #[wasm_bindgen(method, getter, js_name = frameId)]
14 pub fn frame_id(this: &MessageSender) -> Option<u32>;
15
16 #[wasm_bindgen(method, getter)]
17 pub fn id(this: &MessageSender) -> Option<String>;
18
19 #[wasm_bindgen(method, getter)]
20 pub fn url(this: &MessageSender) -> Option<String>;
21
22 #[wasm_bindgen(method, getter, js_name = tlsChannelId)]
23 pub fn tls_channel_id(this: &MessageSender) -> Option<String>;
24}
25
26#[wasm_bindgen]
27extern "C" {
28 #[derive(Debug, Clone, PartialEq)]
29 pub type Port;
30
31 #[wasm_bindgen(method, getter)]
32 pub fn name(this: &Port) -> String;
33
34 #[wasm_bindgen(method, getter)]
36 pub fn error(this: &Port) -> js_sys::Error;
37
38 #[wasm_bindgen(method)]
39 pub fn disconnect(this: &Port);
40
41 #[wasm_bindgen(method, getter, js_name = onDisconnect)]
42 pub fn on_disconnect(this: &Port) -> EventTarget;
43
44 #[wasm_bindgen(method, getter, js_name = onMessage)]
45 pub fn on_message(this: &Port) -> EventTarget;
46
47 #[wasm_bindgen(method, js_name = postMessage)]
48 pub fn post_message(this: &Port, value: &JsValue);
49
50 #[wasm_bindgen(method, getter)]
51 pub fn sender(this: &Port) -> Option<MessageSender>;
52}