viewpoint_cdp/protocol/
target.rs1use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Deserialize)]
9#[serde(rename_all = "camelCase")]
10pub struct TargetInfo {
11 pub target_id: String,
13 #[serde(rename = "type")]
15 pub target_type: String,
16 pub title: String,
18 pub url: String,
20 pub attached: bool,
22 pub browser_context_id: Option<String>,
24}
25
26#[derive(Debug, Clone, Serialize, Default)]
28#[serde(rename_all = "camelCase")]
29pub struct CreateBrowserContextParams {
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub dispose_on_detach: Option<bool>,
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub proxy_server: Option<String>,
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub proxy_bypass_list: Option<String>,
39}
40
41#[derive(Debug, Clone, Deserialize)]
43#[serde(rename_all = "camelCase")]
44pub struct CreateBrowserContextResult {
45 pub browser_context_id: String,
47}
48
49#[derive(Debug, Clone, Serialize)]
51#[serde(rename_all = "camelCase")]
52pub struct DisposeBrowserContextParams {
53 pub browser_context_id: String,
55}
56
57#[derive(Debug, Clone, Serialize)]
59#[serde(rename_all = "camelCase")]
60pub struct CreateTargetParams {
61 pub url: String,
63 #[serde(skip_serializing_if = "Option::is_none")]
65 pub width: Option<u32>,
66 #[serde(skip_serializing_if = "Option::is_none")]
68 pub height: Option<u32>,
69 #[serde(skip_serializing_if = "Option::is_none")]
71 pub browser_context_id: Option<String>,
72 #[serde(skip_serializing_if = "Option::is_none")]
74 pub background: Option<bool>,
75 #[serde(skip_serializing_if = "Option::is_none")]
77 pub new_window: Option<bool>,
78}
79
80#[derive(Debug, Clone, Deserialize)]
82#[serde(rename_all = "camelCase")]
83pub struct CreateTargetResult {
84 pub target_id: String,
86}
87
88#[derive(Debug, Clone, Serialize)]
90#[serde(rename_all = "camelCase")]
91pub struct AttachToTargetParams {
92 pub target_id: String,
94 #[serde(skip_serializing_if = "Option::is_none")]
96 pub flatten: Option<bool>,
97}
98
99#[derive(Debug, Clone, Deserialize)]
101#[serde(rename_all = "camelCase")]
102pub struct AttachToTargetResult {
103 pub session_id: String,
105}
106
107#[derive(Debug, Clone, Serialize)]
109#[serde(rename_all = "camelCase")]
110pub struct CloseTargetParams {
111 pub target_id: String,
113}
114
115#[derive(Debug, Clone, Deserialize)]
117pub struct CloseTargetResult {
118 pub success: bool,
120}
121
122#[derive(Debug, Clone, Serialize)]
124#[serde(rename_all = "camelCase")]
125pub struct DetachFromTargetParams {
126 #[serde(skip_serializing_if = "Option::is_none")]
128 pub session_id: Option<String>,
129}
130
131#[derive(Debug, Clone, Serialize, Default)]
133pub struct GetTargetsParams {
134 #[serde(skip_serializing_if = "Option::is_none")]
136 pub filter: Option<Vec<TargetFilter>>,
137}
138
139#[derive(Debug, Clone, Serialize)]
141#[serde(rename_all = "camelCase")]
142pub struct TargetFilter {
143 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
145 pub target_type: Option<String>,
146 #[serde(skip_serializing_if = "Option::is_none")]
148 pub exclude: Option<bool>,
149}
150
151#[derive(Debug, Clone, Deserialize)]
153#[serde(rename_all = "camelCase")]
154pub struct GetTargetsResult {
155 pub target_infos: Vec<TargetInfo>,
157}
158
159#[derive(Debug, Clone, Deserialize)]
161#[serde(rename_all = "camelCase")]
162pub struct GetBrowserContextsResult {
163 pub browser_context_ids: Vec<String>,
165}
166
167#[derive(Debug, Clone, Deserialize)]
169#[serde(rename_all = "camelCase")]
170pub struct TargetCreatedEvent {
171 pub target_info: TargetInfo,
173}
174
175#[derive(Debug, Clone, Deserialize)]
177#[serde(rename_all = "camelCase")]
178pub struct TargetDestroyedEvent {
179 pub target_id: String,
181}
182
183#[derive(Debug, Clone, Deserialize)]
185#[serde(rename_all = "camelCase")]
186pub struct AttachedToTargetEvent {
187 pub session_id: String,
189 pub target_info: TargetInfo,
191 pub waiting_for_debugger: bool,
193}