diff options
Diffstat (limited to 'components/script/dom/customevent.rs')
-rw-r--r-- | components/script/dom/customevent.rs | 102 |
1 files changed, 54 insertions, 48 deletions
diff --git a/components/script/dom/customevent.rs b/components/script/dom/customevent.rs index 7b522cde3ed..7dadacee375 100644 --- a/components/script/dom/customevent.rs +++ b/components/script/dom/customevent.rs @@ -1,28 +1,30 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * 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/. */ + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -use dom::bindings::codegen::Bindings::CustomEventBinding; -use dom::bindings::codegen::Bindings::CustomEventBinding::CustomEventMethods; -use dom::bindings::codegen::Bindings::EventBinding::EventMethods; -use dom::bindings::error::Fallible; -use dom::bindings::inheritance::Castable; -use dom::bindings::js::Root; -use dom::bindings::reflector::reflect_dom_object; -use dom::bindings::str::DOMString; -use dom::bindings::trace::RootedTraceableBox; -use dom::event::Event; -use dom::globalscope::GlobalScope; +use crate::dom::bindings::codegen::Bindings::CustomEventBinding; +use crate::dom::bindings::codegen::Bindings::CustomEventBinding::CustomEventMethods; +use crate::dom::bindings::codegen::Bindings::EventBinding::EventMethods; +use crate::dom::bindings::error::Fallible; +use crate::dom::bindings::inheritance::Castable; +use crate::dom::bindings::reflector::reflect_dom_object; +use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::str::DOMString; +use crate::dom::bindings::trace::RootedTraceableBox; +use crate::dom::event::Event; +use crate::dom::globalscope::GlobalScope; +use crate::script_runtime::JSContext; use dom_struct::dom_struct; -use js::jsapi::{Heap, HandleValue, JSContext}; +use js::jsapi::Heap; use js::jsval::JSVal; +use js::rust::HandleValue; use servo_atoms::Atom; // https://dom.spec.whatwg.org/#interface-customevent #[dom_struct] pub struct CustomEvent { event: Event, - #[ignore_heap_size_of = "Defined in rust-mozjs"] + #[ignore_malloc_size_of = "Defined in rust-mozjs"] detail: Heap<JSVal>, } @@ -34,39 +36,43 @@ impl CustomEvent { } } - pub fn new_uninitialized(global: &GlobalScope) -> Root<CustomEvent> { - reflect_dom_object(box CustomEvent::new_inherited(), - global, - CustomEventBinding::Wrap) + pub fn new_uninitialized(global: &GlobalScope) -> DomRoot<CustomEvent> { + reflect_dom_object(Box::new(CustomEvent::new_inherited()), global) } - pub fn new(global: &GlobalScope, - type_: Atom, - bubbles: bool, - cancelable: bool, - detail: HandleValue) - -> Root<CustomEvent> { + pub fn new( + global: &GlobalScope, + type_: Atom, + bubbles: bool, + cancelable: bool, + detail: HandleValue, + ) -> DomRoot<CustomEvent> { let ev = CustomEvent::new_uninitialized(global); ev.init_custom_event(type_, bubbles, cancelable, detail); ev } - #[allow(unsafe_code)] - pub fn Constructor(global: &GlobalScope, - type_: DOMString, - init: RootedTraceableBox<CustomEventBinding::CustomEventInit>) - -> Fallible<Root<CustomEvent>> { - Ok(CustomEvent::new(global, - Atom::from(type_), - init.parent.bubbles, - init.parent.cancelable, - init.detail.handle())) + #[allow(unsafe_code, non_snake_case)] + pub fn Constructor( + global: &GlobalScope, + type_: DOMString, + init: RootedTraceableBox<CustomEventBinding::CustomEventInit>, + ) -> Fallible<DomRoot<CustomEvent>> { + Ok(CustomEvent::new( + global, + Atom::from(type_), + init.parent.bubbles, + init.parent.cancelable, + init.detail.handle(), + )) } - fn init_custom_event(&self, - type_: Atom, - can_bubble: bool, - cancelable: bool, - detail: HandleValue) { + fn init_custom_event( + &self, + type_: Atom, + can_bubble: bool, + cancelable: bool, + detail: HandleValue, + ) { let event = self.upcast::<Event>(); if event.dispatching() { return; @@ -78,20 +84,20 @@ impl CustomEvent { } impl CustomEventMethods for CustomEvent { - #[allow(unsafe_code)] // https://dom.spec.whatwg.org/#dom-customevent-detail - unsafe fn Detail(&self, _cx: *mut JSContext) -> JSVal { + fn Detail(&self, _cx: JSContext) -> JSVal { self.detail.get() } - #[allow(unsafe_code)] // https://dom.spec.whatwg.org/#dom-customevent-initcustomevent - unsafe fn InitCustomEvent(&self, - _cx: *mut JSContext, - type_: DOMString, - can_bubble: bool, - cancelable: bool, - detail: HandleValue) { + fn InitCustomEvent( + &self, + _cx: JSContext, + type_: DOMString, + can_bubble: bool, + cancelable: bool, + detail: HandleValue, + ) { self.init_custom_event(Atom::from(type_), can_bubble, cancelable, detail) } |