Format script component

This commit is contained in:
chansuke 2018-09-18 23:24:15 +09:00 committed by Josh Matthews
parent 2ca7a13473
commit c37a345dc9
357 changed files with 25485 additions and 18076 deletions

View file

@ -25,19 +25,23 @@ use task_source::TaskSource;
#[dom_struct]
pub struct Storage {
reflector_: Reflector,
storage_type: StorageType
storage_type: StorageType,
}
impl Storage {
fn new_inherited(storage_type: StorageType) -> Storage {
Storage {
reflector_: Reflector::new(),
storage_type: storage_type
storage_type: storage_type,
}
}
pub fn new(global: &Window, storage_type: StorageType) -> DomRoot<Storage> {
reflect_dom_object(Box::new(Storage::new_inherited(storage_type)), global, StorageBinding::Wrap)
reflect_dom_object(
Box::new(Storage::new_inherited(storage_type)),
global,
StorageBinding::Wrap,
)
}
fn get_url(&self) -> ServoUrl {
@ -47,7 +51,6 @@ impl Storage {
fn get_storage_thread(&self) -> IpcSender<StorageThreadMsg> {
self.global().resource_threads().sender()
}
}
impl StorageMethods for Storage {
@ -55,7 +58,12 @@ impl StorageMethods for Storage {
fn Length(&self) -> u32 {
let (sender, receiver) = ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
self.get_storage_thread().send(StorageThreadMsg::Length(sender, self.get_url(), self.storage_type)).unwrap();
self.get_storage_thread()
.send(StorageThreadMsg::Length(
sender,
self.get_url(),
self.storage_type,
)).unwrap();
receiver.recv().unwrap() as u32
}
@ -64,8 +72,12 @@ impl StorageMethods for Storage {
let (sender, receiver) = ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
self.get_storage_thread()
.send(StorageThreadMsg::Key(sender, self.get_url(), self.storage_type, index))
.unwrap();
.send(StorageThreadMsg::Key(
sender,
self.get_url(),
self.storage_type,
index,
)).unwrap();
receiver.recv().unwrap().map(DOMString::from)
}
@ -85,16 +97,22 @@ impl StorageMethods for Storage {
let name = String::from(name);
let value = String::from(value);
let msg = StorageThreadMsg::SetItem(sender, self.get_url(), self.storage_type, name.clone(), value.clone());
let msg = StorageThreadMsg::SetItem(
sender,
self.get_url(),
self.storage_type,
name.clone(),
value.clone(),
);
self.get_storage_thread().send(msg).unwrap();
match receiver.recv().unwrap() {
Err(_) => Err(Error::QuotaExceeded),
Ok((changed, old_value)) => {
if changed {
self.broadcast_change_notification(Some(name), old_value, Some(value));
}
Ok(())
}
if changed {
self.broadcast_change_notification(Some(name), old_value, Some(value));
}
Ok(())
},
}
}
@ -103,7 +121,8 @@ impl StorageMethods for Storage {
let (sender, receiver) = ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
let name = String::from(name);
let msg = StorageThreadMsg::RemoveItem(sender, self.get_url(), self.storage_type, name.clone());
let msg =
StorageThreadMsg::RemoveItem(sender, self.get_url(), self.storage_type, name.clone());
self.get_storage_thread().send(msg).unwrap();
if let Some(old_value) = receiver.recv().unwrap() {
self.broadcast_change_notification(Some(name), Some(old_value), None);
@ -114,7 +133,12 @@ impl StorageMethods for Storage {
fn Clear(&self) {
let (sender, receiver) = ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
self.get_storage_thread().send(StorageThreadMsg::Clear(sender, self.get_url(), self.storage_type)).unwrap();
self.get_storage_thread()
.send(StorageThreadMsg::Clear(
sender,
self.get_url(),
self.storage_type,
)).unwrap();
if receiver.recv().unwrap() {
self.broadcast_change_notification(None, None, None);
}
@ -124,12 +148,18 @@ impl StorageMethods for Storage {
fn SupportedPropertyNames(&self) -> Vec<DOMString> {
let (sender, receiver) = ipc::channel(self.global().time_profiler_chan().clone()).unwrap();
self.get_storage_thread().send(StorageThreadMsg::Keys(sender, self.get_url(), self.storage_type)).unwrap();
receiver.recv()
.unwrap()
.into_iter()
.map(DOMString::from)
.collect()
self.get_storage_thread()
.send(StorageThreadMsg::Keys(
sender,
self.get_url(),
self.storage_type,
)).unwrap();
receiver
.recv()
.unwrap()
.into_iter()
.map(DOMString::from)
.collect()
}
// check-tidy: no specs after this line
@ -146,15 +176,21 @@ impl StorageMethods for Storage {
}
}
impl Storage {
/// <https://html.spec.whatwg.org/multipage/#send-a-storage-notification>
fn broadcast_change_notification(&self, key: Option<String>, old_value: Option<String>,
new_value: Option<String>) {
fn broadcast_change_notification(
&self,
key: Option<String>,
old_value: Option<String>,
new_value: Option<String>,
) {
let storage = self.storage_type;
let url = self.get_url();
let msg = ScriptMsg::BroadcastStorageEvent(storage, url, key, old_value, new_value);
self.global().script_to_constellation_chan().send(msg).unwrap();
self.global()
.script_to_constellation_chan()
.send(msg)
.unwrap();
}
/// <https://html.spec.whatwg.org/multipage/#send-a-storage-notification>
@ -167,8 +203,11 @@ impl Storage {
) {
let global = self.global();
let this = Trusted::new(self);
global.as_window().dom_manipulation_task_source().queue(
task!(send_storage_notification: move || {
global
.as_window()
.dom_manipulation_task_source()
.queue(
task!(send_storage_notification: move || {
let this = this.root();
let global = this.global();
let event = StorageEvent::new(
@ -184,7 +223,7 @@ impl Storage {
);
event.upcast::<Event>().fire(global.upcast());
}),
global.upcast(),
).unwrap();
global.upcast(),
).unwrap();
}
}