use serde::Deserialize;
use super::types::{FileChooserMode, Frame, FrameDetachedReason};
#[derive(Debug, Clone, Deserialize)]
pub struct LoadEventFiredEvent {
pub timestamp: f64,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DomContentEventFiredEvent {
pub timestamp: f64,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrameNavigatedEvent {
pub frame: Frame,
#[serde(rename = "type")]
pub navigation_type: Option<String>,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrameStartedLoadingEvent {
pub frame_id: String,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrameStoppedLoadingEvent {
pub frame_id: String,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LifecycleEvent {
pub frame_id: String,
pub loader_id: String,
pub name: String,
pub timestamp: f64,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WindowOpenEvent {
pub url: String,
pub window_name: String,
pub window_features: Vec<String>,
pub user_gesture: bool,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrameAttachedEvent {
pub frame_id: String,
pub parent_frame_id: String,
pub stack: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FrameDetachedEvent {
pub frame_id: String,
pub reason: Option<FrameDetachedReason>,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct NavigatedWithinDocumentEvent {
pub frame_id: String,
pub url: String,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FileChooserOpenedEvent {
pub frame_id: String,
pub mode: FileChooserMode,
pub backend_node_id: Option<i32>,
}