mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
auto merge of #4257 : johnathan79717/servo/4008, r=jdm
This is a fix for issue #4008.
This commit is contained in:
commit
bdb3a2538b
4 changed files with 15 additions and 25 deletions
|
@ -47,6 +47,7 @@ use dom::htmltitleelement::HTMLTitleElement;
|
|||
use dom::location::Location;
|
||||
use dom::mouseevent::MouseEvent;
|
||||
use dom::keyboardevent::KeyboardEvent;
|
||||
use dom::messageevent::MessageEvent;
|
||||
use dom::node::{Node, ElementNodeTypeId, DocumentNodeTypeId, NodeHelpers};
|
||||
use dom::node::{CloneChildren, DoNotCloneChildren};
|
||||
use dom::nodelist::NodeList;
|
||||
|
@ -711,6 +712,8 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
|||
global::Window(*window))),
|
||||
"keyboardevent" | "keyevents" => Ok(EventCast::from_temporary(
|
||||
KeyboardEvent::new_uninitialized(*window))),
|
||||
"messageevent" => Ok(EventCast::from_temporary(
|
||||
MessageEvent::new_uninitialized(global::Window(*window)))),
|
||||
_ => Err(NotSupported)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ use dom::eventtarget::{EventTarget, EventTargetHelpers};
|
|||
use servo_util::str::DOMString;
|
||||
|
||||
use js::jsapi::JSContext;
|
||||
use js::jsval::JSVal;
|
||||
use js::jsval::{JSVal, UndefinedValue};
|
||||
|
||||
#[dom_struct]
|
||||
pub struct MessageEvent {
|
||||
|
@ -43,13 +43,21 @@ impl MessageEvent {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn new_uninitialized(global: GlobalRef) -> Temporary<MessageEvent> {
|
||||
MessageEvent::new_initialized(global, UndefinedValue(), "".to_string(), "".to_string())
|
||||
}
|
||||
|
||||
pub fn new_initialized(global: GlobalRef, data: JSVal, origin: DOMString, lastEventId: DOMString) -> Temporary<MessageEvent> {
|
||||
reflect_dom_object(box MessageEvent::new_inherited(data, origin, lastEventId),
|
||||
global,
|
||||
MessageEventBinding::Wrap)
|
||||
}
|
||||
|
||||
pub fn new(global: GlobalRef, type_: DOMString,
|
||||
bubbles: bool, cancelable: bool,
|
||||
data: JSVal, origin: DOMString, lastEventId: DOMString)
|
||||
-> Temporary<MessageEvent> {
|
||||
let ev = reflect_dom_object(box MessageEvent::new_inherited(data, origin, lastEventId),
|
||||
global,
|
||||
MessageEventBinding::Wrap).root();
|
||||
let ev = MessageEvent::new_initialized(global, data, origin, lastEventId).root();
|
||||
let event: JSRef<Event> = EventCast::from_ref(*ev);
|
||||
event.InitEvent(type_, bubbles, cancelable);
|
||||
Temporary::from_rooted(*ev)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue