aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/customevent.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/customevent.rs')
-rw-r--r--components/script/dom/customevent.rs102
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)
}