diff options
author | Bogdan Cuza <bogdan.cuza@hotmail.com> | 2015-07-21 17:05:49 +0300 |
---|---|---|
committer | Bogdan Cuza <bogdan.cuza@hotmail.com> | 2015-07-22 16:45:44 +0300 |
commit | 68d574bc328ae4eac65c726babc0db6928a9772c (patch) | |
tree | 7ee8f213794a298e32c3d30f1561535c9a4e8991 | |
parent | 681b11c08b6a3a22d0be5c51aaebf40727e3dfeb (diff) | |
download | servo-68d574bc328ae4eac65c726babc0db6928a9772c.tar.gz servo-68d574bc328ae4eac65c726babc0db6928a9772c.zip |
Fix #6674
-rw-r--r-- | components/script/dom/progressevent.rs | 11 | ||||
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/components/script/dom/progressevent.rs b/components/script/dom/progressevent.rs index fd284e8d1b3..05531d3c10d 100644 --- a/components/script/dom/progressevent.rs +++ b/components/script/dom/progressevent.rs @@ -10,7 +10,7 @@ use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::Root; use dom::bindings::utils::reflect_dom_object; -use dom::event::{Event, EventTypeId}; +use dom::event::{Event, EventTypeId, EventBubbles, EventCancelable}; use util::str::DOMString; #[dom_struct] @@ -37,14 +37,14 @@ impl ProgressEvent { } } pub fn new(global: GlobalRef, type_: DOMString, - can_bubble: bool, cancelable: bool, + can_bubble: EventBubbles, cancelable: EventCancelable, length_computable: bool, loaded: u64, total: u64) -> Root<ProgressEvent> { let ev = reflect_dom_object(box ProgressEvent::new_inherited(length_computable, loaded, total), global, ProgressEventBinding::Wrap); { let event = EventCast::from_ref(ev.r()); - event.InitEvent(type_, can_bubble, cancelable); + event.InitEvent(type_, can_bubble == EventBubbles::Bubbles, cancelable == EventCancelable::Cancelable); } ev } @@ -52,7 +52,10 @@ impl ProgressEvent { type_: DOMString, init: &ProgressEventBinding::ProgressEventInit) -> Fallible<Root<ProgressEvent>> { - let ev = ProgressEvent::new(global, type_, init.parent.bubbles, init.parent.cancelable, + let bubbles = if init.parent.bubbles {EventBubbles::Bubbles} else {EventBubbles::DoesNotBubble}; + let cancelable = if init.parent.cancelable {EventCancelable::Cancelable} + else {EventCancelable::NotCancelable}; + let ev = ProgressEvent::new(global, type_, bubbles, cancelable, init.lengthComputable, init.loaded, init.total); Ok(ev) } diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 823c3eda264..10ad71ab2f2 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -942,7 +942,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for &'a XMLHttpRequest { let global = self.global.root(); let upload_target = self.upload.root(); let progressevent = ProgressEvent::new(global.r(), - type_, false, false, + type_, EventBubbles::DoesNotBubble, EventCancelable::NotCancelable, total.is_some(), loaded, total.unwrap_or(0)); let target = if upload { |