use serde::{Serialize, Deserialize};
pub type FrameId = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum AdFrameType {
#[default]
None,
Child,
Root,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum AdFrameExplanation {
#[default]
ParentIsAd,
CreatedByAdScript,
MatchedBlockingRule,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AdFrameStatus {
pub adFrameType: AdFrameType,
#[serde(skip_serializing_if = "Option::is_none")]
pub explanations: Option<Vec<AdFrameExplanation>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum SecureContextType {
#[default]
Secure,
SecureLocalhost,
InsecureScheme,
InsecureAncestor,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CrossOriginIsolatedContextType {
#[default]
Isolated,
NotIsolated,
NotIsolatedFeatureDisabled,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum GatedAPIFeatures {
#[default]
SharedArrayBuffers,
SharedArrayBuffersTransferAllowed,
PerformanceMeasureMemory,
PerformanceProfile,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum PermissionsPolicyFeature {
#[default]
Accelerometer,
AllScreensCapture,
AmbientLightSensor,
AriaNotify,
AttributionReporting,
Autofill,
Autoplay,
Bluetooth,
BrowsingTopics,
Camera,
CapturedSurfaceControl,
ChDpr,
ChDeviceMemory,
ChDownlink,
ChEct,
ChPrefersColorScheme,
ChPrefersReducedMotion,
ChPrefersReducedTransparency,
ChRtt,
ChSaveData,
ChUa,
ChUaArch,
ChUaBitness,
ChUaHighEntropyValues,
ChUaPlatform,
ChUaModel,
ChUaMobile,
ChUaFormFactors,
ChUaFullVersion,
ChUaFullVersionList,
ChUaPlatformVersion,
ChUaWow64,
ChViewportHeight,
ChViewportWidth,
ChWidth,
ClipboardRead,
ClipboardWrite,
ComputePressure,
ControlledFrame,
CrossOriginIsolated,
DeferredFetch,
DeferredFetchMinimal,
DeviceAttributes,
DigitalCredentialsCreate,
DigitalCredentialsGet,
DirectSockets,
DirectSocketsMulticast,
DirectSocketsPrivate,
DisplayCapture,
DocumentDomain,
EncryptedMedia,
ExecutionWhileOutOfViewport,
ExecutionWhileNotRendered,
FocusWithoutUserActivation,
Fullscreen,
Frobulate,
Gamepad,
Geolocation,
Gyroscope,
Hid,
IdentityCredentialsGet,
IdleDetection,
InterestCohort,
JoinAdInterestGroup,
KeyboardMap,
LanguageDetector,
LanguageModel,
LocalFonts,
LocalNetwork,
LocalNetworkAccess,
LoopbackNetwork,
Magnetometer,
ManualText,
MediaPlaybackWhileNotVisible,
Microphone,
Midi,
OnDeviceSpeechRecognition,
OtpCredentials,
Payment,
PictureInPicture,
PrivateAggregation,
PrivateStateTokenIssuance,
PrivateStateTokenRedemption,
PublickeyCredentialsCreate,
PublickeyCredentialsGet,
RecordAdAuctionEvents,
Rewriter,
RunAdAuction,
ScreenWakeLock,
Serial,
SharedStorage,
SharedStorageSelectUrl,
SmartCard,
SpeakerSelection,
StorageAccess,
SubApps,
Summarizer,
SyncXhr,
Translator,
Unload,
Usb,
UsbUnrestricted,
VerticalScroll,
WebAppInstallation,
WebPrinting,
WebShare,
WindowManagement,
Writer,
XrSpatialTracking,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum PermissionsPolicyBlockReason {
#[default]
Header,
IframeAttribute,
InFencedFrameTree,
InIsolatedApp,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PermissionsPolicyBlockLocator {
pub frameId: FrameId,
pub blockReason: PermissionsPolicyBlockReason,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PermissionsPolicyFeatureState {
pub feature: PermissionsPolicyFeature,
pub allowed: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub locator: Option<PermissionsPolicyBlockLocator>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum OriginTrialTokenStatus {
#[default]
Success,
NotSupported,
Insecure,
Expired,
WrongOrigin,
InvalidSignature,
Malformed,
WrongVersion,
FeatureDisabled,
TokenDisabled,
FeatureDisabledForUser,
UnknownTrial,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum OriginTrialStatus {
#[default]
Enabled,
ValidTokenNotProvided,
OSNotSupported,
TrialNotAllowed,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum OriginTrialUsageRestriction {
#[default]
None,
Subset,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OriginTrialToken {
pub origin: String,
pub matchSubDomains: bool,
pub trialName: String,
pub expiryTime: crate::network::TimeSinceEpoch,
pub isThirdParty: bool,
pub usageRestriction: OriginTrialUsageRestriction,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OriginTrialTokenWithStatus {
pub rawTokenText: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub parsedToken: Option<OriginTrialToken>,
pub status: OriginTrialTokenStatus,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OriginTrial {
pub trialName: String,
pub status: OriginTrialStatus,
pub tokensWithStatus: Vec<OriginTrialTokenWithStatus>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SecurityOriginDetails {
pub isLocalhost: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Frame {
pub id: FrameId,
#[serde(skip_serializing_if = "Option::is_none")]
pub parentId: Option<FrameId>,
pub loaderId: crate::network::LoaderId,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
pub url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub urlFragment: Option<String>,
pub domainAndRegistry: String,
pub securityOrigin: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub securityOriginDetails: Option<SecurityOriginDetails>,
pub mimeType: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub unreachableUrl: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub adFrameStatus: Option<AdFrameStatus>,
pub secureContextType: SecureContextType,
pub crossOriginIsolatedContextType: CrossOriginIsolatedContextType,
pub gatedAPIFeatures: Vec<GatedAPIFeatures>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FrameResource {
pub url: String,
#[serde(rename = "type")]
pub type_: crate::network::ResourceType,
pub mimeType: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub lastModified: Option<crate::network::TimeSinceEpoch>,
#[serde(skip_serializing_if = "Option::is_none")]
pub contentSize: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub failed: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub canceled: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FrameResourceTree {
pub frame: Frame,
#[serde(skip_serializing_if = "Option::is_none")]
pub childFrames: Option<Vec<FrameResourceTree>>,
pub resources: Vec<FrameResource>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FrameTree {
pub frame: Frame,
#[serde(skip_serializing_if = "Option::is_none")]
pub childFrames: Option<Vec<FrameTree>>,
}
pub type ScriptIdentifier = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum TransitionType {
#[default]
Link,
Typed,
AddressBar,
AutoBookmark,
AutoSubframe,
ManualSubframe,
Generated,
AutoToplevel,
FormSubmit,
Reload,
Keyword,
KeywordGenerated,
Other,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct NavigationEntry {
pub id: u64,
pub url: String,
pub userTypedURL: String,
pub title: String,
pub transitionType: TransitionType,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScreencastFrameMetadata {
pub offsetTop: f64,
pub pageScaleFactor: f64,
pub deviceWidth: f64,
pub deviceHeight: f64,
pub scrollOffsetX: f64,
pub scrollOffsetY: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp: Option<crate::network::TimeSinceEpoch>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum DialogType {
#[default]
Alert,
Confirm,
Prompt,
Beforeunload,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AppManifestError {
pub message: String,
pub critical: i64,
pub line: i64,
pub column: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AppManifestParsedProperties {
pub scope: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LayoutViewport {
pub pageX: i64,
pub pageY: i64,
pub clientWidth: u64,
pub clientHeight: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct VisualViewport {
pub offsetX: f64,
pub offsetY: f64,
pub pageX: f64,
pub pageY: f64,
pub clientWidth: f64,
pub clientHeight: f64,
pub scale: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub zoom: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Viewport {
pub x: f64,
pub y: f64,
pub width: f64,
pub height: f64,
pub scale: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FontFamilies {
#[serde(skip_serializing_if = "Option::is_none")]
pub standard: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub serif: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sansSerif: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cursive: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fantasy: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub math: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScriptFontFamilies {
pub script: String,
pub fontFamilies: FontFamilies,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FontSizes {
#[serde(skip_serializing_if = "Option::is_none")]
pub standard: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ClientNavigationReason {
#[default]
AnchorClick,
FormSubmissionGet,
FormSubmissionPost,
HttpHeaderRefresh,
InitialFrameNavigation,
MetaTagRefresh,
Other,
PageBlockInterstitial,
Reload,
ScriptInitiated,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ClientNavigationDisposition {
#[default]
CurrentTab,
NewTab,
NewWindow,
Download,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct InstallabilityErrorArgument {
pub name: String,
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct InstallabilityError {
pub errorId: String,
pub errorArguments: Vec<InstallabilityErrorArgument>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ReferrerPolicy {
#[default]
NoReferrer,
NoReferrerWhenDowngrade,
Origin,
OriginWhenCrossOrigin,
SameOrigin,
StrictOrigin,
StrictOriginWhenCrossOrigin,
UnsafeUrl,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CompilationCacheParams {
pub url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub eager: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FileFilter {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub accepts: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FileHandler {
pub action: String,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub icons: Option<Vec<ImageResource>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub accepts: Option<Vec<FileFilter>>,
pub launchType: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ImageResource {
pub url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub sizes: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(rename = "type")]
pub type_: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct LaunchHandler {
pub clientMode: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ProtocolHandler {
pub protocol: String,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RelatedApplication {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScopeExtension {
pub origin: String,
pub hasOriginWildcard: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Screenshot {
pub image: ImageResource,
pub formFactor: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ShareTarget {
pub action: String,
pub method: String,
pub enctype: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub files: Option<Vec<FileFilter>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Shortcut {
pub name: String,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct WebAppManifest {
#[serde(skip_serializing_if = "Option::is_none")]
pub backgroundColor: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dir: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub display: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub displayOverrides: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fileHandlers: Option<Vec<FileHandler>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub icons: Option<Vec<ImageResource>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub lang: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub launchHandler: Option<LaunchHandler>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub orientation: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferRelatedApplications: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub protocolHandlers: Option<Vec<ProtocolHandler>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub relatedApplications: Option<Vec<RelatedApplication>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scopeExtensions: Option<Vec<ScopeExtension>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub screenshots: Option<Vec<Screenshot>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shareTarget: Option<ShareTarget>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shortName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shortcuts: Option<Vec<Shortcut>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub startUrl: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub themeColor: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum NavigationType {
#[default]
Navigation,
BackForwardCacheRestore,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum BackForwardCacheNotRestoredReason {
#[default]
NotPrimaryMainFrame,
BackForwardCacheDisabled,
RelatedActiveContentsExist,
HTTPStatusNotOK,
SchemeNotHTTPOrHTTPS,
Loading,
WasGrantedMediaAccess,
DisableForRenderFrameHostCalled,
DomainNotAllowed,
HTTPMethodNotGET,
SubframeIsNavigating,
Timeout,
CacheLimit,
JavaScriptExecution,
RendererProcessKilled,
RendererProcessCrashed,
SchedulerTrackedFeatureUsed,
ConflictingBrowsingInstance,
CacheFlushed,
ServiceWorkerVersionActivation,
SessionRestored,
ServiceWorkerPostMessage,
EnteredBackForwardCacheBeforeServiceWorkerHostAdded,
RenderFrameHostReusedSameSite,
RenderFrameHostReusedCrossSite,
ServiceWorkerClaim,
IgnoreEventAndEvict,
HaveInnerContents,
TimeoutPuttingInCache,
BackForwardCacheDisabledByLowMemory,
BackForwardCacheDisabledByCommandLine,
NetworkRequestDatapipeDrainedAsBytesConsumer,
NetworkRequestRedirected,
NetworkRequestTimeout,
NetworkExceedsBufferLimit,
NavigationCancelledWhileRestoring,
NotMostRecentNavigationEntry,
BackForwardCacheDisabledForPrerender,
UserAgentOverrideDiffers,
ForegroundCacheLimit,
ForwardCacheDisabled,
BrowsingInstanceNotSwapped,
BackForwardCacheDisabledForDelegate,
UnloadHandlerExistsInMainFrame,
UnloadHandlerExistsInSubFrame,
ServiceWorkerUnregistration,
CacheControlNoStore,
CacheControlNoStoreCookieModified,
CacheControlNoStoreHTTPOnlyCookieModified,
NoResponseHead,
Unknown,
ActivationNavigationsDisallowedForBug1234857,
ErrorDocument,
FencedFramesEmbedder,
CookieDisabled,
HTTPAuthRequired,
CookieFlushed,
BroadcastChannelOnMessage,
WebViewSettingsChanged,
WebViewJavaScriptObjectChanged,
WebViewMessageListenerInjected,
WebViewSafeBrowsingAllowlistChanged,
WebViewDocumentStartJavascriptChanged,
WebSocket,
WebTransport,
WebRTC,
MainResourceHasCacheControlNoStore,
MainResourceHasCacheControlNoCache,
SubresourceHasCacheControlNoStore,
SubresourceHasCacheControlNoCache,
ContainsPlugins,
DocumentLoaded,
OutstandingNetworkRequestOthers,
RequestedMIDIPermission,
RequestedAudioCapturePermission,
RequestedVideoCapturePermission,
RequestedBackForwardCacheBlockedSensors,
RequestedBackgroundWorkPermission,
BroadcastChannel,
WebXR,
SharedWorker,
SharedWorkerMessage,
SharedWorkerWithNoActiveClient,
WebLocks,
WebLocksContention,
WebHID,
WebBluetooth,
WebShare,
RequestedStorageAccessGrant,
WebNfc,
OutstandingNetworkRequestFetch,
OutstandingNetworkRequestXHR,
AppBanner,
Printing,
WebDatabase,
PictureInPicture,
SpeechRecognizer,
IdleManager,
PaymentManager,
SpeechSynthesis,
KeyboardLock,
WebOTPService,
OutstandingNetworkRequestDirectSocket,
InjectedJavascript,
InjectedStyleSheet,
KeepaliveRequest,
IndexedDBEvent,
Dummy,
JsNetworkRequestReceivedCacheControlNoStoreResource,
WebRTCUsedWithCCNS,
WebTransportUsedWithCCNS,
WebSocketUsedWithCCNS,
SmartCard,
LiveMediaStreamTrack,
UnloadHandler,
ParserAborted,
ContentSecurityHandler,
ContentWebAuthenticationAPI,
ContentFileChooser,
ContentSerial,
ContentFileSystemAccess,
ContentMediaDevicesDispatcherHost,
ContentWebBluetooth,
ContentWebUSB,
ContentMediaSessionService,
ContentScreenReader,
ContentDiscarded,
EmbedderPopupBlockerTabHelper,
EmbedderSafeBrowsingTriggeredPopupBlocker,
EmbedderSafeBrowsingThreatDetails,
EmbedderAppBannerManager,
EmbedderDomDistillerViewerSource,
EmbedderDomDistillerSelfDeletingRequestDelegate,
EmbedderOomInterventionTabHelper,
EmbedderOfflinePage,
EmbedderChromePasswordManagerClientBindCredentialManager,
EmbedderPermissionRequestManager,
EmbedderModalDialog,
EmbedderExtensions,
EmbedderExtensionMessaging,
EmbedderExtensionMessagingForOpenPort,
EmbedderExtensionSentMessageToCachedFrame,
RequestedByWebViewClient,
PostMessageByWebViewClient,
CacheControlNoStoreDeviceBoundSessionTerminated,
CacheLimitPrunedOnModerateMemoryPressure,
CacheLimitPrunedOnCriticalMemoryPressure,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum BackForwardCacheNotRestoredReasonType {
#[default]
SupportPending,
PageSupportNeeded,
Circumstantial,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BackForwardCacheBlockingDetails {
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub function: Option<String>,
pub lineNumber: i64,
pub columnNumber: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BackForwardCacheNotRestoredExplanation {
#[serde(rename = "type")]
pub type_: BackForwardCacheNotRestoredReasonType,
pub reason: BackForwardCacheNotRestoredReason,
#[serde(skip_serializing_if = "Option::is_none")]
pub context: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub details: Option<Vec<BackForwardCacheBlockingDetails>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BackForwardCacheNotRestoredExplanationTree {
pub url: String,
pub explanations: Vec<BackForwardCacheNotRestoredExplanation>,
pub children: Vec<BackForwardCacheNotRestoredExplanationTree>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddScriptToEvaluateOnLoadParams {
pub scriptSource: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddScriptToEvaluateOnLoadReturns {
pub identifier: ScriptIdentifier,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddScriptToEvaluateOnNewDocumentParams {
pub source: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub worldName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub includeCommandLineAPI: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runImmediately: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddScriptToEvaluateOnNewDocumentReturns {
pub identifier: ScriptIdentifier,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CaptureScreenshotParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub quality: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub clip: Option<Viewport>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fromSurface: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub captureBeyondViewport: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub optimizeForSpeed: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CaptureScreenshotReturns {
pub data: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CaptureSnapshotParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CaptureSnapshotReturns {
pub data: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CreateIsolatedWorldParams {
pub frameId: FrameId,
#[serde(skip_serializing_if = "Option::is_none")]
pub worldName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grantUniveralAccess: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CreateIsolatedWorldReturns {
pub executionContextId: crate::runtime::ExecutionContextId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteCookieParams {
pub cookieName: String,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EnableParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub enableFileChooserOpenedEvent: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAppManifestParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub manifestId: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAppManifestReturns {
pub url: String,
pub errors: Vec<AppManifestError>,
#[serde(skip_serializing_if = "Option::is_none")]
pub data: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub parsed: Option<AppManifestParsedProperties>,
pub manifest: WebAppManifest,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetInstallabilityErrorsReturns {
pub installabilityErrors: Vec<InstallabilityError>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetManifestIconsReturns {
#[serde(skip_serializing_if = "Option::is_none")]
pub primaryIcon: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAppIdReturns {
#[serde(skip_serializing_if = "Option::is_none")]
pub appId: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub recommendedId: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAdScriptAncestryParams {
pub frameId: FrameId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAdScriptAncestryReturns {
#[serde(skip_serializing_if = "Option::is_none")]
pub adScriptAncestry: Option<crate::network::AdAncestry>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFrameTreeReturns {
pub frameTree: FrameTree,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetLayoutMetricsReturns {
pub layoutViewport: LayoutViewport,
pub visualViewport: VisualViewport,
pub contentSize: crate::dom::Rect,
pub cssLayoutViewport: LayoutViewport,
pub cssVisualViewport: VisualViewport,
pub cssContentSize: crate::dom::Rect,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNavigationHistoryReturns {
pub currentIndex: u64,
pub entries: Vec<NavigationEntry>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResourceContentParams {
pub frameId: FrameId,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResourceContentReturns {
pub content: String,
pub base64Encoded: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetResourceTreeReturns {
pub frameTree: FrameResourceTree,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct HandleJavaScriptDialogParams {
pub accept: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub promptText: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct NavigateParams {
pub url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub referrer: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transitionType: Option<TransitionType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frameId: Option<FrameId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub referrerPolicy: Option<ReferrerPolicy>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct NavigateReturns {
pub frameId: FrameId,
#[serde(skip_serializing_if = "Option::is_none")]
pub loaderId: Option<crate::network::LoaderId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub errorText: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isDownload: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct NavigateToHistoryEntryParams {
pub entryId: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PrintToPDFParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub landscape: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub displayHeaderFooter: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub printBackground: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scale: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paperWidth: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paperHeight: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marginTop: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marginBottom: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marginLeft: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marginRight: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pageRanges: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub headerTemplate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub footerTemplate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferCSSPageSize: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transferMode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub generateTaggedPDF: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub generateDocumentOutline: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PrintToPDFReturns {
pub data: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub stream: Option<crate::io::StreamHandle>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReloadParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub ignoreCache: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub scriptToEvaluateOnLoad: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub loaderId: Option<crate::network::LoaderId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RemoveScriptToEvaluateOnLoadParams {
pub identifier: ScriptIdentifier,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RemoveScriptToEvaluateOnNewDocumentParams {
pub identifier: ScriptIdentifier,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScreencastFrameAckParams {
pub sessionId: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SearchInResourceParams {
pub frameId: FrameId,
pub url: String,
pub query: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub caseSensitive: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isRegex: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SearchInResourceReturns {
pub result: Vec<crate::debugger::SearchMatch>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAdBlockingEnabledParams {
pub enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetBypassCSPParams {
pub enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetPermissionsPolicyStateParams {
pub frameId: FrameId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetPermissionsPolicyStateReturns {
pub states: Vec<PermissionsPolicyFeatureState>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOriginTrialsParams {
pub frameId: FrameId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOriginTrialsReturns {
pub originTrials: Vec<OriginTrial>,
}
#[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<crate::emulation::ScreenOrientation>,
#[serde(skip_serializing_if = "Option::is_none")]
pub viewport: Option<Viewport>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDeviceOrientationOverrideParams {
pub alpha: f64,
pub beta: f64,
pub gamma: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetFontFamiliesParams {
pub fontFamilies: FontFamilies,
#[serde(skip_serializing_if = "Option::is_none")]
pub forScripts: Option<Vec<ScriptFontFamilies>>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetFontSizesParams {
pub fontSizes: FontSizes,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDocumentContentParams {
pub frameId: FrameId,
pub html: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetDownloadBehaviorParams {
pub behavior: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub downloadPath: Option<String>,
}
#[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>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetLifecycleEventsEnabledParams {
pub enabled: 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 configuration: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StartScreencastParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub quality: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxWidth: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxHeight: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub everyNthFrame: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetWebLifecycleStateParams {
pub state: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ProduceCompilationCacheParams {
pub scripts: Vec<CompilationCacheParams>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddCompilationCacheParams {
pub url: String,
pub data: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSPCTransactionModeParams {
pub mode: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetRPHRegistrationModeParams {
pub mode: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GenerateTestReportParams {
pub message: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetInterceptFileChooserDialogParams {
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub cancel: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPrerenderingAllowedParams {
pub isAllowed: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAnnotatedPageContentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub includeActionableInformation: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAnnotatedPageContentReturns {
pub content: String,
}