1pub mod content_settings;
2pub mod declarative_net_request;
3pub mod runtime;
4pub mod storage;
5pub mod tabs;
6
7use wasm_bindgen::prelude::*;
8
9use content_settings::ContentSettings;
10use declarative_net_request::DeclarativeNetRequest;
11use js_sys::Function;
12use runtime::Runtime;
13use storage::Storage;
14use tabs::Tabs;
15
16#[wasm_bindgen]
17extern "C" {
18 pub type Chrome;
19
20 #[wasm_bindgen(thread_local_v2, js_name = chrome)]
21 pub static CHROME: Chrome;
22
23 #[wasm_bindgen(method, getter = "contentSettings")]
24 pub fn content_settings(this: &Chrome) -> ContentSettings;
25
26 #[wasm_bindgen(method, getter = "declarativeNetRequest")]
27 pub fn declarative_net_request(this: &Chrome) -> DeclarativeNetRequest;
28
29 #[wasm_bindgen(method, getter = "runtime")]
30 pub fn runtime(this: &Chrome) -> Runtime;
31
32 #[wasm_bindgen(method, getter = "storage")]
33 pub fn storage(this: &Chrome) -> Storage;
34
35 #[wasm_bindgen(method, getter = "tabs")]
36 pub fn tabs(this: &Chrome) -> Tabs;
37}
38
39#[wasm_bindgen]
40extern "C" {
41 pub type EventTarget;
42
43 #[wasm_bindgen(method, js_name = "addListener")]
44 pub fn add_listener(this: &EventTarget, listener: &Function);
45
46 #[wasm_bindgen(method, js_name = "removeListener")]
47 pub fn remove_listener(this: &EventTarget, listener: &Function);
48
49 #[wasm_bindgen(method, js_name = "hasListener")]
50 pub fn has_listener(this: &EventTarget, listener: &Function) -> bool;
51
52 #[wasm_bindgen(method, js_name = "hasListeners")]
53 pub fn has_listeners(this: &EventTarget) -> bool;
54}