diff options
Diffstat (limited to 'components/script/dom/closeevent.rs')
-rw-r--r-- | components/script/dom/closeevent.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/components/script/dom/closeevent.rs b/components/script/dom/closeevent.rs index 2d2e7d8e323..cedbd61703e 100644 --- a/components/script/dom/closeevent.rs +++ b/components/script/dom/closeevent.rs @@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::CloseEventBinding::CloseEventMethods; use dom::bindings::codegen::InheritTypes::EventCast; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; -use dom::bindings::js::{JSRef, Temporary, Rootable}; +use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable}; use script_task::ScriptChan; @@ -40,21 +40,23 @@ impl CloseEvent { cancelable: EventCancelable, wasClean: bool, code: u16, - reason: DOMString) -> Temporary<CloseEvent> { + reason: DOMString) -> Root<CloseEvent> { let event = box CloseEvent::new_inherited(EventTypeId::CloseEvent, wasClean, code, reason); - let ev = reflect_dom_object(event, global, CloseEventBinding::Wrap).root(); - let event: JSRef<Event> = EventCast::from_ref(ev.r()); - event.InitEvent(type_, - bubbles == EventBubbles::Bubbles, - cancelable == EventCancelable::Cancelable); - Temporary::from_rooted(ev.r()) + let ev = reflect_dom_object(event, global, CloseEventBinding::Wrap); + { + let event = EventCast::from_ref(ev.r()); + event.InitEvent(type_, + bubbles == EventBubbles::Bubbles, + cancelable == EventCancelable::Cancelable); + } + ev } pub fn Constructor(global: GlobalRef, type_: DOMString, init: &CloseEventBinding::CloseEventInit) - -> Fallible<Temporary<CloseEvent>> { + -> Fallible<Root<CloseEvent>> { let bubbles = if init.parent.bubbles { EventBubbles::Bubbles } else { EventBubbles::DoesNotBubble }; let cancelable = if init.parent.cancelable { EventCancelable::Cancelable @@ -66,7 +68,7 @@ impl CloseEvent { } } -impl<'a> CloseEventMethods for JSRef<'a, CloseEvent> { +impl<'a> CloseEventMethods for &'a CloseEvent { fn WasClean(self) -> bool { self.wasClean } |