aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/storage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/storage.rs')
-rw-r--r--components/script/dom/storage.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/components/script/dom/storage.rs b/components/script/dom/storage.rs
index 0e47e73fd90..42c564d9e2c 100644
--- a/components/script/dom/storage.rs
+++ b/components/script/dom/storage.rs
@@ -5,12 +5,11 @@
use dom::bindings::codegen::Bindings::StorageBinding;
use dom::bindings::codegen::Bindings::StorageBinding::StorageMethods;
use dom::bindings::global::{GlobalRef, GlobalField};
-use dom::bindings::js::{JSRef, Temporary, Rootable, RootedReference};
+use dom::bindings::js::{Root, RootedReference};
use dom::bindings::refcounted::Trusted;
use dom::bindings::utils::{Reflector, reflect_dom_object};
use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast};
-use dom::event::{Event, EventHelpers, EventBubbles, EventCancelable};
-use dom::eventtarget::{EventTarget};
+use dom::event::{EventHelpers, EventBubbles, EventCancelable};
use dom::storageevent::StorageEvent;
use dom::urlhelper::UrlHelper;
use dom::window::WindowHelpers;
@@ -39,7 +38,7 @@ impl Storage {
}
}
- pub fn new(global: &GlobalRef, storage_type: StorageType) -> Temporary<Storage> {
+ pub fn new(global: &GlobalRef, storage_type: StorageType) -> Root<Storage> {
reflect_dom_object(box Storage::new_inherited(global, storage_type), *global, StorageBinding::Wrap)
}
@@ -57,7 +56,7 @@ impl Storage {
}
-impl<'a> StorageMethods for JSRef<'a, Storage> {
+impl<'a> StorageMethods for &'a Storage {
fn Length(self) -> u32 {
let (sender, receiver) = channel();
@@ -134,7 +133,7 @@ trait PrivateStorageHelpers {
new_value: Option<DOMString>);
}
-impl<'a> PrivateStorageHelpers for JSRef<'a, Storage> {
+impl<'a> PrivateStorageHelpers for &'a Storage {
/// https://html.spec.whatwg.org/multipage/#send-a-storage-notification
fn broadcast_change_notification(self, key: Option<DOMString>, old_value: Option<DOMString>,
new_value: Option<DOMString>){
@@ -166,7 +165,7 @@ impl StorageEventRunnable {
impl MainThreadRunnable for StorageEventRunnable {
fn handler(self: Box<StorageEventRunnable>, script_task: &ScriptTask) {
let this = *self;
- let storage_root = this.element.to_temporary().root();
+ let storage_root = this.element.root();
let storage = storage_root.r();
let global_root = storage.global.root();
let global_ref = global_root.r();
@@ -180,18 +179,18 @@ impl MainThreadRunnable for StorageEventRunnable {
this.key, this.old_value, this.new_value,
ev_url.to_string(),
Some(storage)
- ).root();
- let event: JSRef<Event> = EventCast::from_ref(storage_event.r());
+ );
+ let event = EventCast::from_ref(storage_event.r());
let root_page = script_task.root_page();
for it_page in root_page.iter() {
- let it_window_root = it_page.window().root();
+ let it_window_root = it_page.window();
let it_window = it_window_root.r();
assert!(UrlHelper::SameOrigin(&ev_url, &it_window.get_url()));
// TODO: Such a Document object is not necessarily fully active, but events fired on such
// objects are ignored by the event loop until the Document becomes fully active again.
if ev_window.pipeline() != it_window.pipeline() {
- let target: JSRef<EventTarget> = EventTargetCast::from_ref(it_window);
+ let target = EventTargetCast::from_ref(it_window);
event.fire(target);
}
}