use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue;
pub type SerializedStorageKey = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum StorageType {
#[default]
Cookies,
FileSystems,
Indexeddb,
LocalStorage,
ShaderCache,
Websql,
ServiceWorkers,
CacheStorage,
InterestGroups,
SharedStorage,
StorageBuckets,
All,
Other,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UsageForType {
pub storageType: StorageType,
pub usage: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TrustTokens {
pub issuerOrigin: String,
pub count: f64,
}
pub type InterestGroupAuctionId = String;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum InterestGroupAccessType {
#[default]
Join,
Leave,
Update,
Loaded,
Bid,
Win,
AdditionalBid,
AdditionalBidWin,
TopLevelBid,
TopLevelAdditionalBid,
Clear,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum InterestGroupAuctionEventType {
#[default]
Started,
ConfigResolved,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum InterestGroupAuctionFetchType {
#[default]
BidderJs,
BidderWasm,
SellerJs,
BidderTrustedSignals,
SellerTrustedSignals,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum SharedStorageAccessScope {
#[default]
Window,
SharedStorageWorklet,
ProtectedAudienceWorklet,
Header,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum SharedStorageAccessMethod {
#[default]
AddModule,
CreateWorklet,
SelectURL,
Run,
BatchUpdate,
Set,
Append,
Delete,
Clear,
Get,
Keys,
Values,
Entries,
Length,
RemainingBudget,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SharedStorageEntry {
pub key: String,
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SharedStorageMetadata {
pub creationTime: crate::network::TimeSinceEpoch,
pub length: u64,
pub remainingBudget: f64,
pub bytesUsed: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SharedStoragePrivateAggregationConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub aggregationCoordinatorOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub contextId: Option<String>,
pub filteringIdMaxBytes: u64,
#[serde(skip_serializing_if = "Option::is_none")]
pub maxContributions: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SharedStorageReportingMetadata {
pub eventType: String,
pub reportingUrl: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SharedStorageUrlWithMetadata {
pub url: String,
pub reportingMetadata: Vec<SharedStorageReportingMetadata>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SharedStorageAccessParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub scriptSourceUrl: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dataOrigin: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub operationName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub operationId: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub keepAlive: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub privateAggregationConfig: Option<SharedStoragePrivateAggregationConfig>,
#[serde(skip_serializing_if = "Option::is_none")]
pub serializedData: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub urlsWithMetadata: Option<Vec<SharedStorageUrlWithMetadata>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub urnUuid: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ignoreIfPresent: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workletOrdinal: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub workletTargetId: Option<crate::target::TargetID>,
#[serde(skip_serializing_if = "Option::is_none")]
pub withLock: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub batchUpdateId: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub batchSize: Option<u64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum StorageBucketsDurability {
#[default]
Relaxed,
Strict,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StorageBucket {
pub storageKey: SerializedStorageKey,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StorageBucketInfo {
pub bucket: StorageBucket,
pub id: String,
pub expiration: crate::network::TimeSinceEpoch,
pub quota: f64,
pub persistent: bool,
pub durability: StorageBucketsDurability,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RelatedWebsiteSet {
pub primarySites: Vec<String>,
pub associatedSites: Vec<String>,
pub serviceSites: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetStorageKeyForFrameParams {
pub frameId: crate::page::FrameId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetStorageKeyForFrameReturns {
pub storageKey: SerializedStorageKey,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetStorageKeyParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub frameId: Option<crate::page::FrameId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetStorageKeyReturns {
pub storageKey: SerializedStorageKey,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearDataForOriginParams {
pub origin: String,
pub storageTypes: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearDataForStorageKeyParams {
pub storageKey: String,
pub storageTypes: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCookiesParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub browserContextId: Option<crate::browser::BrowserContextID>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCookiesReturns {
pub cookies: Vec<crate::network::Cookie>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetCookiesParams {
pub cookies: Vec<crate::network::CookieParam>,
#[serde(skip_serializing_if = "Option::is_none")]
pub browserContextId: Option<crate::browser::BrowserContextID>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearCookiesParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub browserContextId: Option<crate::browser::BrowserContextID>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetUsageAndQuotaParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetUsageAndQuotaReturns {
pub usage: f64,
pub quota: f64,
pub overrideActive: bool,
pub usageBreakdown: Vec<UsageForType>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct OverrideQuotaForOriginParams {
pub origin: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub quotaSize: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TrackCacheStorageForOriginParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TrackCacheStorageForStorageKeyParams {
pub storageKey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TrackIndexedDBForOriginParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TrackIndexedDBForStorageKeyParams {
pub storageKey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UntrackCacheStorageForOriginParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UntrackCacheStorageForStorageKeyParams {
pub storageKey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UntrackIndexedDBForOriginParams {
pub origin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct UntrackIndexedDBForStorageKeyParams {
pub storageKey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetTrustTokensReturns {
pub tokens: Vec<TrustTokens>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearTrustTokensParams {
pub issuerOrigin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearTrustTokensReturns {
pub didDeleteTokens: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetInterestGroupDetailsParams {
pub ownerOrigin: String,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetInterestGroupDetailsReturns {
pub details: serde_json::Map<String, JsonValue>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetInterestGroupTrackingParams {
pub enable: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetInterestGroupAuctionTrackingParams {
pub enable: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSharedStorageMetadataParams {
pub ownerOrigin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSharedStorageMetadataReturns {
pub metadata: SharedStorageMetadata,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSharedStorageEntriesParams {
pub ownerOrigin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSharedStorageEntriesReturns {
pub entries: Vec<SharedStorageEntry>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSharedStorageEntryParams {
pub ownerOrigin: String,
pub key: String,
pub value: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub ignoreIfPresent: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteSharedStorageEntryParams {
pub ownerOrigin: String,
pub key: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClearSharedStorageEntriesParams {
pub ownerOrigin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ResetSharedStorageBudgetParams {
pub ownerOrigin: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetSharedStorageTrackingParams {
pub enable: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetStorageBucketTrackingParams {
pub storageKey: String,
pub enable: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DeleteStorageBucketParams {
pub bucket: StorageBucket,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RunBounceTrackingMitigationsReturns {
pub deletedSites: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetRelatedWebsiteSetsReturns {
pub sets: Vec<RelatedWebsiteSet>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetProtectedAudienceKAnonymityParams {
pub owner: String,
pub name: String,
pub hashes: Vec<String>,
}