aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/event.rs
diff options
context:
space:
mode:
authorTim Taubert <tim@timtaubert.de>2014-10-11 14:57:24 +0200
committerTim Taubert <tim@timtaubert.de>2014-10-11 16:57:00 +0200
commit5080c0d86e4f3388f78fff535d746c51a757b618 (patch)
tree28a465b74b60bb25fbbecb5dad48ae2737d237a8 /components/script/dom/event.rs
parent9dfd5e7fcd2011a411b219e8c45aadc0ecb270bd (diff)
downloadservo-5080c0d86e4f3388f78fff535d746c51a757b618.tar.gz
servo-5080c0d86e4f3388f78fff535d746c51a757b618.zip
Make Event::new take enumerated values instead of booleans (fixes #3643)
Diffstat (limited to 'components/script/dom/event.rs')
-rw-r--r--components/script/dom/event.rs22
1 files changed, 18 insertions, 4 deletions
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index 085a30baad4..92df2faac71 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -35,6 +35,18 @@ pub enum EventTypeId {
UIEventTypeId
}
+#[deriving(PartialEq)]
+pub enum EventBubbles {
+ Bubbles,
+ DoesNotBubble
+}
+
+#[deriving(PartialEq)]
+pub enum EventCancelable {
+ Cancelable,
+ NotCancelable
+}
+
#[jstraceable]
#[must_root]
pub struct Event {
@@ -84,17 +96,19 @@ impl Event {
pub fn new(global: &GlobalRef,
type_: DOMString,
- can_bubble: bool,
- cancelable: bool) -> Temporary<Event> {
+ bubbles: EventBubbles,
+ cancelable: EventCancelable) -> Temporary<Event> {
let event = Event::new_uninitialized(global).root();
- event.InitEvent(type_, can_bubble, cancelable);
+ event.InitEvent(type_, bubbles == Bubbles, cancelable == Cancelable);
Temporary::from_rooted(*event)
}
pub fn Constructor(global: &GlobalRef,
type_: DOMString,
init: &EventBinding::EventInit) -> Fallible<Temporary<Event>> {
- Ok(Event::new(global, type_, init.bubbles, init.cancelable))
+ let bubbles = if init.bubbles { Bubbles } else { DoesNotBubble };
+ let cancelable = if init.cancelable { Cancelable } else { NotCancelable };
+ Ok(Event::new(global, type_, bubbles, cancelable))
}
}