mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #6746 - pcwalton:storage-task-ipc, r=jdm
net: Convert the storage task to use IPC. r? @jdm <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6746) <!-- Reviewable:end -->
This commit is contained in:
commit
362de03902
8 changed files with 58 additions and 31 deletions
|
@ -13,6 +13,7 @@ use dom::event::{EventHelpers, EventBubbles, EventCancelable};
|
|||
use dom::storageevent::StorageEvent;
|
||||
use dom::urlhelper::UrlHelper;
|
||||
use dom::window::WindowHelpers;
|
||||
use ipc_channel::ipc;
|
||||
use util::str::DOMString;
|
||||
use page::IterablePage;
|
||||
use net_traits::storage_task::{StorageTask, StorageTaskMsg, StorageType};
|
||||
|
@ -58,21 +59,21 @@ impl Storage {
|
|||
|
||||
impl<'a> StorageMethods for &'a Storage {
|
||||
fn Length(self) -> u32 {
|
||||
let (sender, receiver) = channel();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
||||
self.get_storage_task().send(StorageTaskMsg::Length(sender, self.get_url(), self.storage_type)).unwrap();
|
||||
receiver.recv().unwrap() as u32
|
||||
}
|
||||
|
||||
fn Key(self, index: u32) -> Option<DOMString> {
|
||||
let (sender, receiver) = channel();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
||||
self.get_storage_task().send(StorageTaskMsg::Key(sender, self.get_url(), self.storage_type, index)).unwrap();
|
||||
receiver.recv().unwrap()
|
||||
}
|
||||
|
||||
fn GetItem(self, name: DOMString) -> Option<DOMString> {
|
||||
let (sender, receiver) = channel();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
||||
let msg = StorageTaskMsg::GetItem(sender, self.get_url(), self.storage_type, name);
|
||||
self.get_storage_task().send(msg).unwrap();
|
||||
|
@ -86,7 +87,7 @@ impl<'a> StorageMethods for &'a Storage {
|
|||
}
|
||||
|
||||
fn SetItem(self, name: DOMString, value: DOMString) {
|
||||
let (sender, receiver) = channel();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
||||
let msg = StorageTaskMsg::SetItem(sender, self.get_url(), self.storage_type, name.clone(), value.clone());
|
||||
self.get_storage_task().send(msg).unwrap();
|
||||
|
@ -105,7 +106,7 @@ impl<'a> StorageMethods for &'a Storage {
|
|||
}
|
||||
|
||||
fn RemoveItem(self, name: DOMString) {
|
||||
let (sender, receiver) = channel();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
||||
let msg = StorageTaskMsg::RemoveItem(sender, self.get_url(), self.storage_type, name.clone());
|
||||
self.get_storage_task().send(msg).unwrap();
|
||||
|
@ -119,7 +120,7 @@ impl<'a> StorageMethods for &'a Storage {
|
|||
}
|
||||
|
||||
fn Clear(self) {
|
||||
let (sender, receiver) = channel();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
||||
self.get_storage_task().send(StorageTaskMsg::Clear(sender, self.get_url(), self.storage_type)).unwrap();
|
||||
if receiver.recv().unwrap() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue