aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/eventtarget.rs
diff options
context:
space:
mode:
authormarmeladema <xademax@gmail.com>2019-07-21 16:05:04 +0100
committermarmeladema <xademax@gmail.com>2019-07-24 08:18:22 +0100
commit2fb3f1f98327ee1de698dfed83124350f58ff52a (patch)
treeeff85118b3849cc1ef9854f0e3757ad2b34fa16c /components/script/dom/eventtarget.rs
parent6e4caf11537cb8db83405afe461b74470f3a7e5a (diff)
downloadservo-2fb3f1f98327ee1de698dfed83124350f58ff52a.tar.gz
servo-2fb3f1f98327ee1de698dfed83124350f58ff52a.zip
Callbacks now uses safe JSContext instead of raw JSContext
Diffstat (limited to 'components/script/dom/eventtarget.rs')
-rw-r--r--components/script/dom/eventtarget.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs
index 02cd36bdd69..0a1d9a137ba 100644
--- a/components/script/dom/eventtarget.rs
+++ b/components/script/dom/eventtarget.rs
@@ -33,6 +33,7 @@ use crate::dom::globalscope::GlobalScope;
use crate::dom::node::document_from_node;
use crate::dom::virtualmethods::VirtualMethods;
use crate::dom::window::Window;
+use crate::script_runtime::JSContext;
use dom_struct::dom_struct;
use fnv::FnvHasher;
use js::jsapi::{JSAutoRealm, JSFunction, JS_GetFunctionObject, SourceText};
@@ -543,16 +544,16 @@ impl EventTarget {
// Step 1.14
if is_error {
Some(CommonEventHandler::ErrorEventHandler(unsafe {
- OnErrorEventHandlerNonNull::new(cx, funobj)
+ OnErrorEventHandlerNonNull::new(JSContext::from_ptr(cx), funobj)
}))
} else {
if ty == &atom!("beforeunload") {
Some(CommonEventHandler::BeforeUnloadEventHandler(unsafe {
- OnBeforeUnloadEventHandlerNonNull::new(cx, funobj)
+ OnBeforeUnloadEventHandlerNonNull::new(JSContext::from_ptr(cx), funobj)
}))
} else {
Some(CommonEventHandler::EventHandler(unsafe {
- EventHandlerNonNull::new(cx, funobj)
+ EventHandlerNonNull::new(JSContext::from_ptr(cx), funobj)
}))
}
}
@@ -567,7 +568,7 @@ impl EventTarget {
let event_listener = listener.map(|listener| {
InlineEventListener::Compiled(CommonEventHandler::EventHandler(unsafe {
- EventHandlerNonNull::new(cx, listener.callback())
+ EventHandlerNonNull::new(JSContext::from_ptr(cx), listener.callback())
}))
});
self.set_inline_event_listener(Atom::from(ty), event_listener);
@@ -582,7 +583,7 @@ impl EventTarget {
let event_listener = listener.map(|listener| {
InlineEventListener::Compiled(CommonEventHandler::ErrorEventHandler(unsafe {
- OnErrorEventHandlerNonNull::new(cx, listener.callback())
+ OnErrorEventHandlerNonNull::new(JSContext::from_ptr(cx), listener.callback())
}))
});
self.set_inline_event_listener(Atom::from(ty), event_listener);
@@ -600,7 +601,7 @@ impl EventTarget {
let event_listener = listener.map(|listener| {
InlineEventListener::Compiled(CommonEventHandler::BeforeUnloadEventHandler(unsafe {
- OnBeforeUnloadEventHandlerNonNull::new(cx, listener.callback())
+ OnBeforeUnloadEventHandlerNonNull::new(JSContext::from_ptr(cx), listener.callback())
}))
});
self.set_inline_event_listener(Atom::from(ty), event_listener);
@@ -612,7 +613,10 @@ impl EventTarget {
let listener = self.get_inline_event_listener(&Atom::from(ty));
unsafe {
listener.map(|listener| {
- CallbackContainer::new(cx, listener.parent().callback_holder().get())
+ CallbackContainer::new(
+ JSContext::from_ptr(cx),
+ listener.parent().callback_holder().get(),
+ )
})
}
}