chrome_types/sys/
runtime.rs

1use super::EventTarget;
2use js_sys::Object;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern "C" {
7  /// <https://developer.chrome.com/docs/extensions/reference/api/runtime>
8  pub type Runtime;
9
10  #[wasm_bindgen(method, getter, js_name = "id")]
11  pub fn id(this: &Runtime) -> String;
12
13  #[wasm_bindgen(method, getter, js_name = "lastError")]
14  pub fn last_error(this: &Runtime) -> Option<Object>;
15
16  #[wasm_bindgen(method, getter, js_name = "onInstalled")]
17  pub fn on_installed(this: &Runtime) -> EventTarget;
18
19  #[wasm_bindgen(method, getter, js_name = "onMessage")]
20  pub fn on_message(this: &Runtime) -> EventTarget;
21
22  #[wasm_bindgen(method, getter, js_name = "onStartup")]
23  pub fn on_startup(this: &Runtime) -> EventTarget;
24
25  #[wasm_bindgen(method, getter, js_name = "onSuspend")]
26  pub fn on_suspend(this: &Runtime) -> EventTarget;
27
28  #[wasm_bindgen(method, getter, js_name = "onSuspendCanceled")]
29  pub fn on_suspend_canceled(this: &Runtime) -> EventTarget;
30
31  #[wasm_bindgen(method, js_name = "getManifest")]
32  pub fn get_manifest(this: &Runtime) -> Object;
33
34  #[wasm_bindgen(method, js_name = "getURL")]
35  pub fn get_url(this: &Runtime, path: &str) -> String;
36
37  #[wasm_bindgen(method, catch, js_name = "openOptionsPage")]
38  pub async fn open_options_page(this: &Runtime) -> Result<(), JsValue>;
39
40  #[wasm_bindgen(method, js_name = "reload")]
41  pub fn reload(this: &Runtime);
42
43  #[wasm_bindgen(method, catch, js_name = "requestUpdateCheck")]
44  pub async fn request_update_check(this: &Runtime) -> Result<Object, JsValue>;
45
46  #[wasm_bindgen(method, js_name = "restart")]
47  pub fn restart(this: &Runtime);
48
49  #[wasm_bindgen(method, catch, js_name = "restartAfterDelay")]
50  pub async fn restart_after_delay(this: &Runtime, seconds: u32) -> Result<(), JsValue>;
51
52  #[wasm_bindgen(method, catch, js_name = "sendMessage")]
53  pub async fn send_message(
54    this: &Runtime,
55    extension_id: Option<&str>,
56    message: &JsValue,
57    options: Option<&Object>,
58  ) -> Result<JsValue, JsValue>;
59
60  #[wasm_bindgen(method, catch, js_name = "setUninstallURL")]
61  pub async fn set_uninstall_url(this: &Runtime, url: &str) -> Result<(), JsValue>;
62}