diff options
Diffstat (limited to 'components/net/storage_task.rs')
-rw-r--r-- | components/net/storage_task.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/components/net/storage_task.rs b/components/net/storage_task.rs index d83a5c6f43c..ac65fa65bc0 100644 --- a/components/net/storage_task.rs +++ b/components/net/storage_task.rs @@ -2,9 +2,10 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use std::comm::{channel, Receiver, Sender}; +use std::borrow::ToOwned; use std::collections::HashMap; -use std::collections::TreeMap; +use std::collections::BTreeMap; +use std::sync::mpsc::{channel, Receiver, Sender}; use url::Url; use servo_util::str::DOMString; @@ -39,14 +40,14 @@ pub enum StorageTaskMsg { pub type StorageTask = Sender<StorageTaskMsg>; pub trait StorageTaskFactory { - fn new() -> StorageTask; + fn new() -> Self; } impl StorageTaskFactory for StorageTask { /// Create a StorageTask fn new() -> StorageTask { let (chan, port) = channel(); - spawn_named("StorageManager", proc() { + spawn_named("StorageManager".to_owned(), move || { StorageManager::new(port).start(); }); chan @@ -55,7 +56,7 @@ impl StorageTaskFactory for StorageTask { struct StorageManager { port: Receiver<StorageTaskMsg>, - data: HashMap<String, TreeMap<DOMString, DOMString>>, + data: HashMap<String, BTreeMap<DOMString, DOMString>>, } impl StorageManager { @@ -70,7 +71,7 @@ impl StorageManager { impl StorageManager { fn start(&mut self) { loop { - match self.port.recv() { + match self.port.recv().unwrap() { StorageTaskMsg::Length(sender, url) => { self.length(sender, url) } @@ -111,7 +112,7 @@ impl StorageManager { fn set_item(&mut self, sender: Sender<bool>, url: Url, name: DOMString, value: DOMString) { let origin = self.get_origin_as_string(url); if !self.data.contains_key(&origin) { - self.data.insert(origin.clone(), TreeMap::new()); + self.data.insert(origin.clone(), BTreeMap::new()); } let updated = self.data.get_mut(&origin).map(|entry| { |