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