chrome_sys/
bindings.rs

1use js_sys::Object;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5extern "C" {
6
7    #[wasm_bindgen(extends = Object)]
8    #[derive(Debug)]
9    pub type Sender;
10
11    #[wasm_bindgen(method, getter)]
12    pub fn id(this: &Sender) -> Option<String>;
13
14    #[wasm_bindgen(method, getter)]
15    pub fn tab(this: &Sender) -> TabInfo;
16
17    #[wasm_bindgen(catch, js_namespace = ["chrome", "runtime"], js_name="sendMessage")]
18    pub async fn send_message(s: &JsValue) -> Result<JsValue, JsValue>;
19
20    #[wasm_bindgen(extends = Object)]
21    #[derive(Debug)]
22    pub type TabInfo;
23
24    #[wasm_bindgen(method, getter)]
25    pub fn id(this: &TabInfo) -> u32;
26
27    #[wasm_bindgen(method, getter)]
28    pub fn url(this: &TabInfo) -> String;
29}