Skip to main content

browser_protocol/domstorage/
mod.rs

1//! Query and modify DOM storage.
2
3use serde::{Serialize, Deserialize};
4
5
6pub type SerializedStorageKey = String;
7
8/// DOM Storage identifier.
9
10#[derive(Debug, Clone, Serialize, Deserialize, Default)]
11#[serde(rename_all = "camelCase")]
12pub struct StorageId {
13    /// Security origin for the storage.
14
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub securityOrigin: Option<String>,
17    /// Represents a key by which DOM Storage keys its CachedStorageAreas
18
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub storageKey: Option<SerializedStorageKey>,
21    /// Whether the storage is local storage (not session storage).
22
23    pub isLocalStorage: bool,
24}
25
26/// DOM Storage item.
27
28pub type Item = Vec<String>;
29
30
31#[derive(Debug, Clone, Serialize, Deserialize, Default)]
32#[serde(rename_all = "camelCase")]
33pub struct ClearParams {
34
35    pub storageId: StorageId,
36}
37
38
39#[derive(Debug, Clone, Serialize, Deserialize, Default)]
40#[serde(rename_all = "camelCase")]
41pub struct GetDOMStorageItemsParams {
42
43    pub storageId: StorageId,
44}
45
46
47#[derive(Debug, Clone, Serialize, Deserialize, Default)]
48#[serde(rename_all = "camelCase")]
49pub struct GetDOMStorageItemsReturns {
50
51    pub entries: Vec<Item>,
52}
53
54
55#[derive(Debug, Clone, Serialize, Deserialize, Default)]
56#[serde(rename_all = "camelCase")]
57pub struct RemoveDOMStorageItemParams {
58
59    pub storageId: StorageId,
60
61    pub key: String,
62}
63
64
65#[derive(Debug, Clone, Serialize, Deserialize, Default)]
66#[serde(rename_all = "camelCase")]
67pub struct SetDOMStorageItemParams {
68
69    pub storageId: StorageId,
70
71    pub key: String,
72
73    pub value: String,
74}