1use serde::{Serialize, Deserialize};
2use serde_json::Value as JsonValue;
3
4
5pub type SerializedStorageKey = String;
6
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
10pub enum StorageType {
11 #[default]
12 Cookies,
13 FileSystems,
14 Indexeddb,
15 LocalStorage,
16 ShaderCache,
17 Websql,
18 ServiceWorkers,
19 CacheStorage,
20 InterestGroups,
21 SharedStorage,
22 StorageBuckets,
23 All,
24 Other,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize, Default)]
30#[serde(rename_all = "camelCase")]
31pub struct UsageForType {
32 pub storageType: StorageType,
35 pub usage: f64,
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize, Default)]
44#[serde(rename_all = "camelCase")]
45pub struct TrustTokens {
46
47 pub issuerOrigin: String,
48
49 pub count: f64,
50}
51
52pub type InterestGroupAuctionId = String;
55
56#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
59pub enum InterestGroupAccessType {
60 #[default]
61 Join,
62 Leave,
63 Update,
64 Loaded,
65 Bid,
66 Win,
67 AdditionalBid,
68 AdditionalBidWin,
69 TopLevelBid,
70 TopLevelAdditionalBid,
71 Clear,
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
77pub enum InterestGroupAuctionEventType {
78 #[default]
79 Started,
80 ConfigResolved,
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
86pub enum InterestGroupAuctionFetchType {
87 #[default]
88 BidderJs,
89 BidderWasm,
90 SellerJs,
91 BidderTrustedSignals,
92 SellerTrustedSignals,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
98pub enum SharedStorageAccessScope {
99 #[default]
100 Window,
101 SharedStorageWorklet,
102 ProtectedAudienceWorklet,
103 Header,
104}
105
106#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
109pub enum SharedStorageAccessMethod {
110 #[default]
111 AddModule,
112 CreateWorklet,
113 SelectURL,
114 Run,
115 BatchUpdate,
116 Set,
117 Append,
118 Delete,
119 Clear,
120 Get,
121 Keys,
122 Values,
123 Entries,
124 Length,
125 RemainingBudget,
126}
127
128#[derive(Debug, Clone, Serialize, Deserialize, Default)]
131#[serde(rename_all = "camelCase")]
132pub struct SharedStorageEntry {
133
134 pub key: String,
135
136 pub value: String,
137}
138
139#[derive(Debug, Clone, Serialize, Deserialize, Default)]
142#[serde(rename_all = "camelCase")]
143pub struct SharedStorageMetadata {
144 pub creationTime: crate::network::TimeSinceEpoch,
147 pub length: u64,
150 pub remainingBudget: f64,
153 pub bytesUsed: i64,
157}
158
159#[derive(Debug, Clone, Serialize, Deserialize, Default)]
163#[serde(rename_all = "camelCase")]
164pub struct SharedStoragePrivateAggregationConfig {
165 #[serde(skip_serializing_if = "Option::is_none")]
168 pub aggregationCoordinatorOrigin: Option<String>,
169 #[serde(skip_serializing_if = "Option::is_none")]
172 pub contextId: Option<String>,
173 pub filteringIdMaxBytes: u64,
176 #[serde(skip_serializing_if = "Option::is_none")]
179 pub maxContributions: Option<i64>,
180}
181
182#[derive(Debug, Clone, Serialize, Deserialize, Default)]
185#[serde(rename_all = "camelCase")]
186pub struct SharedStorageReportingMetadata {
187
188 pub eventType: String,
189
190 pub reportingUrl: String,
191}
192
193#[derive(Debug, Clone, Serialize, Deserialize, Default)]
196#[serde(rename_all = "camelCase")]
197pub struct SharedStorageUrlWithMetadata {
198 pub url: String,
201 pub reportingMetadata: Vec<SharedStorageReportingMetadata>,
204}
205
206#[derive(Debug, Clone, Serialize, Deserialize, Default)]
210#[serde(rename_all = "camelCase")]
211pub struct SharedStorageAccessParams {
212 #[serde(skip_serializing_if = "Option::is_none")]
217 pub scriptSourceUrl: Option<String>,
218 #[serde(skip_serializing_if = "Option::is_none")]
223 pub dataOrigin: Option<String>,
224 #[serde(skip_serializing_if = "Option::is_none")]
228 pub operationName: Option<String>,
229 #[serde(skip_serializing_if = "Option::is_none")]
233 pub operationId: Option<String>,
234 #[serde(skip_serializing_if = "Option::is_none")]
239 pub keepAlive: Option<bool>,
240 #[serde(skip_serializing_if = "Option::is_none")]
244 pub privateAggregationConfig: Option<SharedStoragePrivateAggregationConfig>,
245 #[serde(skip_serializing_if = "Option::is_none")]
250 pub serializedData: Option<String>,
251 #[serde(skip_serializing_if = "Option::is_none")]
255 pub urlsWithMetadata: Option<Vec<SharedStorageUrlWithMetadata>>,
256 #[serde(skip_serializing_if = "Option::is_none")]
260 pub urnUuid: Option<String>,
261 #[serde(skip_serializing_if = "Option::is_none")]
266 pub key: Option<String>,
267 #[serde(skip_serializing_if = "Option::is_none")]
271 pub value: Option<String>,
272 #[serde(skip_serializing_if = "Option::is_none")]
276 pub ignoreIfPresent: Option<bool>,
277 #[serde(skip_serializing_if = "Option::is_none")]
283 pub workletOrdinal: Option<i64>,
284 #[serde(skip_serializing_if = "Option::is_none")]
291 pub workletTargetId: Option<crate::target::TargetID>,
292 #[serde(skip_serializing_if = "Option::is_none")]
297 pub withLock: Option<String>,
298 #[serde(skip_serializing_if = "Option::is_none")]
304 pub batchUpdateId: Option<String>,
305 #[serde(skip_serializing_if = "Option::is_none")]
309 pub batchSize: Option<u64>,
310}
311
312
313#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
314pub enum StorageBucketsDurability {
315 #[default]
316 Relaxed,
317 Strict,
318}
319
320
321#[derive(Debug, Clone, Serialize, Deserialize, Default)]
322#[serde(rename_all = "camelCase")]
323pub struct StorageBucket {
324
325 pub storageKey: SerializedStorageKey,
326 #[serde(skip_serializing_if = "Option::is_none")]
329 pub name: Option<String>,
330}
331
332
333#[derive(Debug, Clone, Serialize, Deserialize, Default)]
334#[serde(rename_all = "camelCase")]
335pub struct StorageBucketInfo {
336
337 pub bucket: StorageBucket,
338
339 pub id: String,
340
341 pub expiration: crate::network::TimeSinceEpoch,
342 pub quota: f64,
345
346 pub persistent: bool,
347
348 pub durability: StorageBucketsDurability,
349}
350
351#[derive(Debug, Clone, Serialize, Deserialize, Default)]
354#[serde(rename_all = "camelCase")]
355pub struct RelatedWebsiteSet {
356 pub primarySites: Vec<String>,
359 pub associatedSites: Vec<String>,
362 pub serviceSites: Vec<String>,
365}
366
367#[derive(Debug, Clone, Serialize, Deserialize, Default)]
371#[serde(rename_all = "camelCase")]
372pub struct GetStorageKeyForFrameParams {
373
374 pub frameId: crate::page::FrameId,
375}
376
377#[derive(Debug, Clone, Serialize, Deserialize, Default)]
381#[serde(rename_all = "camelCase")]
382pub struct GetStorageKeyForFrameReturns {
383
384 pub storageKey: SerializedStorageKey,
385}
386
387#[derive(Debug, Clone, Serialize, Deserialize, Default)]
391#[serde(rename_all = "camelCase")]
392pub struct GetStorageKeyParams {
393
394 #[serde(skip_serializing_if = "Option::is_none")]
395 pub frameId: Option<crate::page::FrameId>,
396}
397
398#[derive(Debug, Clone, Serialize, Deserialize, Default)]
402#[serde(rename_all = "camelCase")]
403pub struct GetStorageKeyReturns {
404
405 pub storageKey: SerializedStorageKey,
406}
407
408#[derive(Debug, Clone, Serialize, Deserialize, Default)]
411#[serde(rename_all = "camelCase")]
412pub struct ClearDataForOriginParams {
413 pub origin: String,
416 pub storageTypes: String,
419}
420
421#[derive(Debug, Clone, Serialize, Deserialize, Default)]
424#[serde(rename_all = "camelCase")]
425pub struct ClearDataForStorageKeyParams {
426 pub storageKey: String,
429 pub storageTypes: String,
432}
433
434#[derive(Debug, Clone, Serialize, Deserialize, Default)]
437#[serde(rename_all = "camelCase")]
438pub struct GetCookiesParams {
439 #[serde(skip_serializing_if = "Option::is_none")]
442 pub browserContextId: Option<crate::browser::BrowserContextID>,
443}
444
445#[derive(Debug, Clone, Serialize, Deserialize, Default)]
448#[serde(rename_all = "camelCase")]
449pub struct GetCookiesReturns {
450 pub cookies: Vec<crate::network::Cookie>,
453}
454
455#[derive(Debug, Clone, Serialize, Deserialize, Default)]
458#[serde(rename_all = "camelCase")]
459pub struct SetCookiesParams {
460 pub cookies: Vec<crate::network::CookieParam>,
463 #[serde(skip_serializing_if = "Option::is_none")]
466 pub browserContextId: Option<crate::browser::BrowserContextID>,
467}
468
469#[derive(Debug, Clone, Serialize, Deserialize, Default)]
472#[serde(rename_all = "camelCase")]
473pub struct ClearCookiesParams {
474 #[serde(skip_serializing_if = "Option::is_none")]
477 pub browserContextId: Option<crate::browser::BrowserContextID>,
478}
479
480#[derive(Debug, Clone, Serialize, Deserialize, Default)]
483#[serde(rename_all = "camelCase")]
484pub struct GetUsageAndQuotaParams {
485 pub origin: String,
488}
489
490#[derive(Debug, Clone, Serialize, Deserialize, Default)]
493#[serde(rename_all = "camelCase")]
494pub struct GetUsageAndQuotaReturns {
495 pub usage: f64,
498 pub quota: f64,
501 pub overrideActive: bool,
504 pub usageBreakdown: Vec<UsageForType>,
507}
508
509#[derive(Debug, Clone, Serialize, Deserialize, Default)]
512#[serde(rename_all = "camelCase")]
513pub struct OverrideQuotaForOriginParams {
514 pub origin: String,
517 #[serde(skip_serializing_if = "Option::is_none")]
526 pub quotaSize: Option<f64>,
527}
528
529#[derive(Debug, Clone, Serialize, Deserialize, Default)]
532#[serde(rename_all = "camelCase")]
533pub struct TrackCacheStorageForOriginParams {
534 pub origin: String,
537}
538
539#[derive(Debug, Clone, Serialize, Deserialize, Default)]
542#[serde(rename_all = "camelCase")]
543pub struct TrackCacheStorageForStorageKeyParams {
544 pub storageKey: String,
547}
548
549#[derive(Debug, Clone, Serialize, Deserialize, Default)]
552#[serde(rename_all = "camelCase")]
553pub struct TrackIndexedDBForOriginParams {
554 pub origin: String,
557}
558
559#[derive(Debug, Clone, Serialize, Deserialize, Default)]
562#[serde(rename_all = "camelCase")]
563pub struct TrackIndexedDBForStorageKeyParams {
564 pub storageKey: String,
567}
568
569#[derive(Debug, Clone, Serialize, Deserialize, Default)]
572#[serde(rename_all = "camelCase")]
573pub struct UntrackCacheStorageForOriginParams {
574 pub origin: String,
577}
578
579#[derive(Debug, Clone, Serialize, Deserialize, Default)]
582#[serde(rename_all = "camelCase")]
583pub struct UntrackCacheStorageForStorageKeyParams {
584 pub storageKey: String,
587}
588
589#[derive(Debug, Clone, Serialize, Deserialize, Default)]
592#[serde(rename_all = "camelCase")]
593pub struct UntrackIndexedDBForOriginParams {
594 pub origin: String,
597}
598
599#[derive(Debug, Clone, Serialize, Deserialize, Default)]
602#[serde(rename_all = "camelCase")]
603pub struct UntrackIndexedDBForStorageKeyParams {
604 pub storageKey: String,
607}
608
609#[derive(Debug, Clone, Serialize, Deserialize, Default)]
613#[serde(rename_all = "camelCase")]
614pub struct GetTrustTokensReturns {
615
616 pub tokens: Vec<TrustTokens>,
617}
618
619#[derive(Debug, Clone, Serialize, Deserialize, Default)]
623#[serde(rename_all = "camelCase")]
624pub struct ClearTrustTokensParams {
625
626 pub issuerOrigin: String,
627}
628
629#[derive(Debug, Clone, Serialize, Deserialize, Default)]
633#[serde(rename_all = "camelCase")]
634pub struct ClearTrustTokensReturns {
635 pub didDeleteTokens: bool,
638}
639
640#[derive(Debug, Clone, Serialize, Deserialize, Default)]
643#[serde(rename_all = "camelCase")]
644pub struct GetInterestGroupDetailsParams {
645
646 pub ownerOrigin: String,
647
648 pub name: String,
649}
650
651#[derive(Debug, Clone, Serialize, Deserialize, Default)]
654#[serde(rename_all = "camelCase")]
655pub struct GetInterestGroupDetailsReturns {
656 pub details: serde_json::Map<String, JsonValue>,
662}
663
664#[derive(Debug, Clone, Serialize, Deserialize, Default)]
667#[serde(rename_all = "camelCase")]
668pub struct SetInterestGroupTrackingParams {
669
670 pub enable: bool,
671}
672
673#[derive(Debug, Clone, Serialize, Deserialize, Default)]
677#[serde(rename_all = "camelCase")]
678pub struct SetInterestGroupAuctionTrackingParams {
679
680 pub enable: bool,
681}
682
683#[derive(Debug, Clone, Serialize, Deserialize, Default)]
686#[serde(rename_all = "camelCase")]
687pub struct GetSharedStorageMetadataParams {
688
689 pub ownerOrigin: String,
690}
691
692#[derive(Debug, Clone, Serialize, Deserialize, Default)]
695#[serde(rename_all = "camelCase")]
696pub struct GetSharedStorageMetadataReturns {
697
698 pub metadata: SharedStorageMetadata,
699}
700
701#[derive(Debug, Clone, Serialize, Deserialize, Default)]
704#[serde(rename_all = "camelCase")]
705pub struct GetSharedStorageEntriesParams {
706
707 pub ownerOrigin: String,
708}
709
710#[derive(Debug, Clone, Serialize, Deserialize, Default)]
713#[serde(rename_all = "camelCase")]
714pub struct GetSharedStorageEntriesReturns {
715
716 pub entries: Vec<SharedStorageEntry>,
717}
718
719#[derive(Debug, Clone, Serialize, Deserialize, Default)]
722#[serde(rename_all = "camelCase")]
723pub struct SetSharedStorageEntryParams {
724
725 pub ownerOrigin: String,
726
727 pub key: String,
728
729 pub value: String,
730 #[serde(skip_serializing_if = "Option::is_none")]
734 pub ignoreIfPresent: Option<bool>,
735}
736
737#[derive(Debug, Clone, Serialize, Deserialize, Default)]
740#[serde(rename_all = "camelCase")]
741pub struct DeleteSharedStorageEntryParams {
742
743 pub ownerOrigin: String,
744
745 pub key: String,
746}
747
748#[derive(Debug, Clone, Serialize, Deserialize, Default)]
751#[serde(rename_all = "camelCase")]
752pub struct ClearSharedStorageEntriesParams {
753
754 pub ownerOrigin: String,
755}
756
757#[derive(Debug, Clone, Serialize, Deserialize, Default)]
760#[serde(rename_all = "camelCase")]
761pub struct ResetSharedStorageBudgetParams {
762
763 pub ownerOrigin: String,
764}
765
766#[derive(Debug, Clone, Serialize, Deserialize, Default)]
769#[serde(rename_all = "camelCase")]
770pub struct SetSharedStorageTrackingParams {
771
772 pub enable: bool,
773}
774
775#[derive(Debug, Clone, Serialize, Deserialize, Default)]
778#[serde(rename_all = "camelCase")]
779pub struct SetStorageBucketTrackingParams {
780
781 pub storageKey: String,
782
783 pub enable: bool,
784}
785
786#[derive(Debug, Clone, Serialize, Deserialize, Default)]
789#[serde(rename_all = "camelCase")]
790pub struct DeleteStorageBucketParams {
791
792 pub bucket: StorageBucket,
793}
794
795#[derive(Debug, Clone, Serialize, Deserialize, Default)]
798#[serde(rename_all = "camelCase")]
799pub struct RunBounceTrackingMitigationsReturns {
800
801 pub deletedSites: Vec<String>,
802}
803
804#[derive(Debug, Clone, Serialize, Deserialize, Default)]
808#[serde(rename_all = "camelCase")]
809pub struct GetRelatedWebsiteSetsReturns {
810
811 pub sets: Vec<RelatedWebsiteSet>,
812}
813
814
815#[derive(Debug, Clone, Serialize, Deserialize, Default)]
816#[serde(rename_all = "camelCase")]
817pub struct SetProtectedAudienceKAnonymityParams {
818
819 pub owner: String,
820
821 pub name: String,
822
823 pub hashes: Vec<String>,
824}