Make ErrorEvent::new take cancelable and bubbling enums

This commit is contained in:
thiagopnts 2014-12-14 23:54:17 -02:00
parent 2e34125710
commit 60ba4a97a5

View file

@ -13,7 +13,7 @@ use js::jsapi::JSContext;
use dom::bindings::trace::JSTraceable; use dom::bindings::trace::JSTraceable;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::event::{Event, EventTypeId, ErrorEventTypeId}; use dom::event::{Event, EventTypeId, ErrorEventTypeId, EventBubbles, Bubbles, DoesNotBubble, EventCancelable, Cancelable, NotCancelable};
use servo_util::str::DOMString; use servo_util::str::DOMString;
use dom::bindings::cell::DOMRefCell; use dom::bindings::cell::DOMRefCell;
@ -56,8 +56,8 @@ impl ErrorEvent {
pub fn new(global: &GlobalRef, pub fn new(global: &GlobalRef,
type_: DOMString, type_: DOMString,
can_bubble: bool, bubbles: EventBubbles,
cancelable: bool, cancelable: EventCancelable,
message: DOMString, message: DOMString,
filename: DOMString, filename: DOMString,
lineno: u32, lineno: u32,
@ -65,7 +65,7 @@ impl ErrorEvent {
error: JSVal) -> Temporary<ErrorEvent> { error: JSVal) -> Temporary<ErrorEvent> {
let ev = ErrorEvent::new_uninitialized(global).root(); let ev = ErrorEvent::new_uninitialized(global).root();
let event: JSRef<Event> = EventCast::from_ref(*ev); let event: JSRef<Event> = EventCast::from_ref(*ev);
event.InitEvent(type_, can_bubble, cancelable); event.InitEvent(type_, bubbles == Bubbles, cancelable == Cancelable);
*ev.message.borrow_mut() = message; *ev.message.borrow_mut() = message;
*ev.filename.borrow_mut() = filename; *ev.filename.borrow_mut() = filename;
ev.lineno.set(lineno); ev.lineno.set(lineno);
@ -91,8 +91,12 @@ impl ErrorEvent {
let col_num = init.colno.unwrap_or(0); let col_num = init.colno.unwrap_or(0);
let bubbles = if init.parent.bubbles { Bubbles } else { DoesNotBubble };
let cancelable = if init.parent.cancelable { Cancelable } else { NotCancelable };
let event = ErrorEvent::new(global, type_, let event = ErrorEvent::new(global, type_,
init.parent.bubbles, init.parent.cancelable, bubbles, cancelable,
msg, file_name, msg, file_name,
line_num, col_num, init.error); line_num, col_num, init.error);
Ok(event) Ok(event)