mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Implement Storage::SupportedPropertyNames
This commit is contained in:
parent
f30f40b12d
commit
e7a3220bc1
5 changed files with 50 additions and 3 deletions
|
@ -53,6 +53,9 @@ impl StorageManager {
|
|||
StorageTaskMsg::Key(sender, url, storage_type, index) => {
|
||||
self.key(sender, url, storage_type, index)
|
||||
}
|
||||
StorageTaskMsg::Keys(sender, url, storage_type) => {
|
||||
self.keys(sender, url, storage_type)
|
||||
}
|
||||
StorageTaskMsg::SetItem(sender, url, storage_type, name, value) => {
|
||||
self.set_item(sender, url, storage_type, name, value)
|
||||
}
|
||||
|
@ -106,6 +109,18 @@ impl StorageManager {
|
|||
.map(|key| key.clone())).unwrap();
|
||||
}
|
||||
|
||||
fn keys(&self,
|
||||
sender: IpcSender<Vec<DOMString>>,
|
||||
url: Url,
|
||||
storage_type: StorageType) {
|
||||
let origin = self.origin_as_string(url);
|
||||
let data = self.select_data(storage_type);
|
||||
let keys = data.get(&origin)
|
||||
.map_or(vec![], |entry| entry.keys().cloned().collect());
|
||||
|
||||
sender.send(keys).unwrap();
|
||||
}
|
||||
|
||||
/// Sends Some(old_value) in case there was a previous value with the same key name but with different
|
||||
/// value name, otherwise sends None
|
||||
fn set_item(&mut self,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue