Skip to content

Commit

Permalink
Save local storage at every change and not just on shutdown
Browse files Browse the repository at this point in the history
  • Loading branch information
fabricedesre committed May 20, 2018
1 parent cb764be commit 20266fa
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions components/net/storage_thread.rs
Expand Up @@ -67,28 +67,35 @@ impl StorageManager {
self.keys(sender, url, storage_type)
}
StorageThreadMsg::SetItem(sender, url, storage_type, name, value) => {
self.set_item(sender, url, storage_type, name, value)
self.set_item(sender, url, storage_type, name, value);
self.save_state()
}
StorageThreadMsg::GetItem(sender, url, storage_type, name) => {
self.request_item(sender, url, storage_type, name)
}
StorageThreadMsg::RemoveItem(sender, url, storage_type, name) => {
self.remove_item(sender, url, storage_type, name)
self.remove_item(sender, url, storage_type, name);
self.save_state()
}
StorageThreadMsg::Clear(sender, url, storage_type) => {
self.clear(sender, url, storage_type)
self.clear(sender, url, storage_type);
self.save_state()
}
StorageThreadMsg::Exit(sender) => {
if let Some(ref config_dir) = self.config_dir {
resource_thread::write_json_to_file(&self.local_data, config_dir, "local_data.json");
}
// Nothing to do since we save localstorage set eagerly.
let _ = sender.send(());
break
}
}
}
}

fn save_state(&self) {
if let Some(ref config_dir) = self.config_dir {
resource_thread::write_json_to_file(&self.local_data, config_dir, "local_data.json");
}
}

fn select_data(&self, storage_type: StorageType)
-> &HashMap<String, (usize, BTreeMap<String, String>)> {
match storage_type {
Expand Down

0 comments on commit 20266fa

Please sign in to comment.