1use serde::{Deserialize, Serialize};
13
14pub use roder_api::chrome::{
15 ChromeBrowser, ChromeCommand, ChromeError, ChromePermissionMode, ChromeSitePermission,
16 ChromeStatus, ChromeTab,
17};
18
19#[derive(Debug, Clone, Default, Serialize, Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct ChromeEnableParams {
23 #[serde(default)]
25 pub mode: Option<String>,
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(rename_all = "camelCase")]
31pub struct ChromeSetModeParams {
32 pub mode: String,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(rename_all = "camelCase")]
39pub struct ChromeTabActivateParams {
40 pub tab_id: i64,
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
45#[serde(rename_all = "camelCase")]
46pub struct ChromeNavigateParams {
47 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub tab_id: Option<i64>,
49 pub url: String,
50}
51
52#[derive(Debug, Clone, Default, Serialize, Deserialize)]
54#[serde(rename_all = "camelCase")]
55pub struct ChromePageSnapshotParams {
56 #[serde(default, skip_serializing_if = "Option::is_none")]
57 pub tab_id: Option<i64>,
58 #[serde(default, skip_serializing_if = "Vec::is_empty")]
60 pub include: Vec<String>,
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(rename_all = "camelCase")]
69pub struct ChromePageActionParams {
70 pub action: String,
72 #[serde(flatten)]
74 pub extra: serde_json::Map<String, serde_json::Value>,
75}
76
77#[derive(Debug, Clone, Default, Serialize, Deserialize)]
79#[serde(rename_all = "camelCase")]
80pub struct ChromeDebugReadParams {
81 #[serde(default, skip_serializing_if = "Option::is_none")]
82 pub tab_id: Option<i64>,
83 #[serde(default, skip_serializing_if = "Option::is_none")]
84 pub limit: Option<i64>,
85}
86
87#[derive(Debug, Clone, Default, Serialize, Deserialize)]
89#[serde(rename_all = "camelCase")]
90pub struct ChromePermissionsListParams {
91 #[serde(default, skip_serializing_if = "Option::is_none")]
92 pub origin: Option<String>,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(rename_all = "camelCase")]
98pub struct ChromePermissionsUpdateParams {
99 pub origin: String,
100 pub perms: serde_json::Value,
102}