aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/messageevent.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/messageevent.rs')
-rw-r--r--components/script/dom/messageevent.rs24
1 files changed, 17 insertions, 7 deletions
diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs
index b5b46fba5d8..62c8c4c5ed4 100644
--- a/components/script/dom/messageevent.rs
+++ b/components/script/dom/messageevent.rs
@@ -13,6 +13,7 @@ use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::Event;
use dom::eventtarget::EventTarget;
+use dom::globalscope::GlobalScope;
use js::jsapi::{HandleValue, Heap, JSContext};
use js::jsval::JSVal;
use std::default::Default;
@@ -27,14 +28,14 @@ pub struct MessageEvent {
}
impl MessageEvent {
- pub fn new_uninitialized(global: GlobalRef) -> Root<MessageEvent> {
+ pub fn new_uninitialized(global: &GlobalScope) -> Root<MessageEvent> {
MessageEvent::new_initialized(global,
HandleValue::undefined(),
DOMString::new(),
DOMString::new())
}
- pub fn new_initialized(global: GlobalRef,
+ pub fn new_initialized(global: &GlobalScope,
data: HandleValue,
origin: DOMString,
lastEventId: DOMString) -> Root<MessageEvent> {
@@ -48,7 +49,7 @@ impl MessageEvent {
reflect_dom_object(ev, global, MessageEventBinding::Wrap)
}
- pub fn new(global: GlobalRef, type_: Atom,
+ pub fn new(global: &GlobalScope, type_: Atom,
bubbles: bool, cancelable: bool,
data: HandleValue, origin: DOMString, lastEventId: DOMString)
-> Root<MessageEvent> {
@@ -67,9 +68,13 @@ impl MessageEvent {
// Dictionaries need to be rooted
// https://github.com/servo/servo/issues/6381
rooted!(in(global.get_cx()) let data = init.data);
- let ev = MessageEvent::new(global, Atom::from(type_), init.parent.bubbles, init.parent.cancelable,
+ let ev = MessageEvent::new(global.as_global_scope(),
+ Atom::from(type_),
+ init.parent.bubbles,
+ init.parent.cancelable,
data.handle(),
- init.origin.clone(), init.lastEventId.clone());
+ init.origin.clone(),
+ init.lastEventId.clone());
Ok(ev)
}
}
@@ -79,8 +84,13 @@ impl MessageEvent {
scope: GlobalRef,
message: HandleValue) {
let messageevent = MessageEvent::new(
- scope, atom!("message"), false, false, message,
- DOMString::new(), DOMString::new());
+ scope.as_global_scope(),
+ atom!("message"),
+ false,
+ false,
+ message,
+ DOMString::new(),
+ DOMString::new());
messageevent.upcast::<Event>().fire(target);
}
}