use serde::{Serialize, Deserialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SafeAreaInsets {
#[serde(skip_serializing_if = "Option::is_none")]
pub top: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub topMax: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub left: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub leftMax: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bottom: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bottomMax: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub right: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rightMax: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScreenOrientation {
#[serde(rename = "type")]
pub type_: String,
pub angle: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DisplayFeature {
pub orientation: String,
pub offset: i32,
pub maskLength: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DevicePosture {
#[serde(rename = "type")]
pub type_: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct MediaFeature {
pub name: String,
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum VirtualTimePolicy {
#[default]
Advance,
Pause,
PauseIfNetworkFetchesPending,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UserAgentBrandVersion {
pub brand: String,
pub version: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UserAgentMetadata {
#[serde(skip_serializing_if = "Option::is_none")]
pub brands: Option<Vec<UserAgentBrandVersion>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fullVersionList: Option<Vec<UserAgentBrandVersion>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fullVersion: Option<String>,
pub platform: String,
pub platformVersion: String,
pub architecture: String,
pub model: String,
pub mobile: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub bitness: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub wow64: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub formFactors: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum SensorType {
#[default]
AbsoluteOrientation,
Accelerometer,
AmbientLight,
Gravity,
Gyroscope,
LinearAcceleration,
Magnetometer,
RelativeOrientation,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SensorMetadata {
#[serde(skip_serializing_if = "Option::is_none")]
pub available: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub minimumFrequency: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maximumFrequency: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SensorReadingSingle {
pub value: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SensorReadingXYZ {
pub x: f64,
pub y: f64,
pub z: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SensorReadingQuaternion {
pub x: f64,
pub y: f64,
pub z: f64,
pub w: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SensorReading {
#[serde(skip_serializing_if = "Option::is_none")]
pub single: Option<SensorReadingSingle>,
#[serde(skip_serializing_if = "Option::is_none")]
pub xyz: Option<SensorReadingXYZ>,
#[serde(skip_serializing_if = "Option::is_none")]
pub quaternion: Option<SensorReadingQuaternion>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum PressureSource {
#[default]
Cpu,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum PressureState {
#[default]
Nominal,
Fair,
Serious,
Critical,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PressureMetadata {
#[serde(skip_serializing_if = "Option::is_none")]
pub available: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct WorkAreaInsets {
#[serde(skip_serializing_if = "Option::is_none")]
pub top: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub left: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bottom: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub right: Option<i64>,
}
pub type ScreenId = String;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScreenInfo {
pub left: i64,
pub top: i64,
pub width: u64,
pub height: i64,
pub availLeft: i64,
pub availTop: i64,
pub availWidth: u64,
pub availHeight: i64,
pub devicePixelRatio: f64,
pub orientation: ScreenOrientation,
pub colorDepth: i64,
pub isExtended: bool,
pub isInternal: bool,
pub isPrimary: bool,
pub label: String,
pub id: ScreenId,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum DisabledImageType {
#[default]
Avif,
Jxl,
Webp,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CanEmulateReturns {
pub result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetFocusEmulationEnabledParams {
pub enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAutoDarkModeOverrideParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCPUThrottlingRateParams {
pub rate: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDefaultBackgroundColorOverrideParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub color: Option<crate::dom::RGBA>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSafeAreaInsetsOverrideParams {
pub insets: SafeAreaInsets,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDeviceMetricsOverrideParams {
pub width: u64,
pub height: i64,
pub deviceScaleFactor: f64,
pub mobile: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub scale: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub screenWidth: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub screenHeight: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub positionX: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub positionY: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dontSetVisibleSize: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub screenOrientation: Option<ScreenOrientation>,
#[serde(skip_serializing_if = "Option::is_none")]
pub viewport: Option<crate::page::Viewport>,
#[serde(skip_serializing_if = "Option::is_none")]
pub displayFeature: Option<DisplayFeature>,
#[serde(skip_serializing_if = "Option::is_none")]
pub devicePosture: Option<DevicePosture>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scrollbarType: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub screenOrientationLockEmulation: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDevicePostureOverrideParams {
pub posture: DevicePosture,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDisplayFeaturesOverrideParams {
pub features: Vec<DisplayFeature>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetScrollbarsHiddenParams {
pub hidden: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDocumentCookieDisabledParams {
pub disabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetEmitTouchEventsForMouseParams {
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetEmulatedMediaParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub media: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub features: Option<Vec<MediaFeature>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetEmulatedVisionDeficiencyParams {
#[serde(rename = "type")]
pub type_: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetEmulatedOSTextScaleParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub scale: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetGeolocationOverrideParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub latitude: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub longitude: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub accuracy: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub altitude: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub altitudeAccuracy: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub heading: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub speed: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOverriddenSensorInformationParams {
#[serde(rename = "type")]
pub type_: SensorType,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOverriddenSensorInformationReturns {
pub requestedSamplingFrequency: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSensorOverrideEnabledParams {
pub enabled: bool,
#[serde(rename = "type")]
pub type_: SensorType,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<SensorMetadata>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSensorOverrideReadingsParams {
#[serde(rename = "type")]
pub type_: SensorType,
pub reading: SensorReading,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPressureSourceOverrideEnabledParams {
pub enabled: bool,
pub source: PressureSource,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<PressureMetadata>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPressureStateOverrideParams {
pub source: PressureSource,
pub state: PressureState,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPressureDataOverrideParams {
pub source: PressureSource,
pub state: PressureState,
#[serde(skip_serializing_if = "Option::is_none")]
pub ownContributionEstimate: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetIdleOverrideParams {
pub isUserActive: bool,
pub isScreenUnlocked: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetNavigatorOverridesParams {
pub platform: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPageScaleFactorParams {
pub pageScaleFactor: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetScriptExecutionDisabledParams {
pub value: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetTouchEmulationEnabledParams {
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxTouchPoints: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetVirtualTimePolicyParams {
pub policy: VirtualTimePolicy,
#[serde(skip_serializing_if = "Option::is_none")]
pub budget: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxVirtualTimeTaskStarvationCount: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub initialVirtualTime: Option<crate::network::TimeSinceEpoch>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetVirtualTimePolicyReturns {
pub virtualTimeTicksBase: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetLocaleOverrideParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub locale: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetTimezoneOverrideParams {
pub timezoneId: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetVisibleSizeParams {
pub width: u64,
pub height: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDisabledImageTypesParams {
pub imageTypes: Vec<DisabledImageType>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDataSaverOverrideParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub dataSaverEnabled: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetHardwareConcurrencyOverrideParams {
pub hardwareConcurrency: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetUserAgentOverrideParams {
pub userAgent: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub acceptLanguage: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub userAgentMetadata: Option<UserAgentMetadata>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAutomationOverrideParams {
pub enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSmallViewportHeightDifferenceOverrideParams {
pub difference: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetScreenInfosReturns {
pub screenInfos: Vec<ScreenInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddScreenParams {
pub left: i64,
pub top: i64,
pub width: u64,
pub height: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub workAreaInsets: Option<WorkAreaInsets>,
#[serde(skip_serializing_if = "Option::is_none")]
pub devicePixelRatio: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rotation: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub colorDepth: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isInternal: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddScreenReturns {
pub screenInfo: ScreenInfo,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UpdateScreenParams {
pub screenId: ScreenId,
#[serde(skip_serializing_if = "Option::is_none")]
pub left: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub top: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub width: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub height: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workAreaInsets: Option<WorkAreaInsets>,
#[serde(skip_serializing_if = "Option::is_none")]
pub devicePixelRatio: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rotation: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub colorDepth: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isInternal: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UpdateScreenReturns {
pub screenInfo: ScreenInfo,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RemoveScreenParams {
pub screenId: ScreenId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPrimaryScreenParams {
pub screenId: ScreenId,
}