viewpoint_cdp/protocol/page/
events.rs1use serde::Deserialize;
4
5use super::types::{FileChooserMode, Frame, FrameDetachedReason};
6
7#[derive(Debug, Clone, Deserialize)]
9pub struct LoadEventFiredEvent {
10 pub timestamp: f64,
12}
13
14#[derive(Debug, Clone, Deserialize)]
16pub struct DomContentEventFiredEvent {
17 pub timestamp: f64,
19}
20
21#[derive(Debug, Clone, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub struct FrameNavigatedEvent {
25 pub frame: Frame,
27 #[serde(rename = "type")]
29 pub navigation_type: Option<String>,
30}
31
32#[derive(Debug, Clone, Deserialize)]
34#[serde(rename_all = "camelCase")]
35pub struct FrameStartedLoadingEvent {
36 pub frame_id: String,
38}
39
40#[derive(Debug, Clone, Deserialize)]
42#[serde(rename_all = "camelCase")]
43pub struct FrameStoppedLoadingEvent {
44 pub frame_id: String,
46}
47
48#[derive(Debug, Clone, Deserialize)]
50#[serde(rename_all = "camelCase")]
51pub struct LifecycleEvent {
52 pub frame_id: String,
54 pub loader_id: String,
56 pub name: String,
58 pub timestamp: f64,
60}
61
62#[derive(Debug, Clone, Deserialize)]
64#[serde(rename_all = "camelCase")]
65pub struct WindowOpenEvent {
66 pub url: String,
68 pub window_name: String,
70 pub window_features: Vec<String>,
72 pub user_gesture: bool,
74}
75
76#[derive(Debug, Clone, Deserialize)]
80#[serde(rename_all = "camelCase")]
81pub struct FrameAttachedEvent {
82 pub frame_id: String,
84 pub parent_frame_id: String,
86 pub stack: Option<serde_json::Value>,
88}
89
90#[derive(Debug, Clone, Deserialize)]
94#[serde(rename_all = "camelCase")]
95pub struct FrameDetachedEvent {
96 pub frame_id: String,
98 pub reason: Option<FrameDetachedReason>,
100}
101
102#[derive(Debug, Clone, Deserialize)]
106#[serde(rename_all = "camelCase")]
107pub struct NavigatedWithinDocumentEvent {
108 pub frame_id: String,
110 pub url: String,
112}
113
114#[derive(Debug, Clone, Deserialize)]
118#[serde(rename_all = "camelCase")]
119pub struct FileChooserOpenedEvent {
120 pub frame_id: String,
122 pub mode: FileChooserMode,
124 pub backend_node_id: Option<i32>,
127}