aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/progressevent.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2014-05-18 14:42:23 +0530
committerManish Goregaokar <manishsmail@gmail.com>2014-05-18 14:43:52 +0530
commit7bcfaa603bb3bc93bb138d1ed4504708569eca9f (patch)
tree2edcc8c56e4d0c6274d37ecd73a37697075069d9 /src/components/script/dom/progressevent.rs
parent018348324851b49543257f62e8ddc9acfe09ff4e (diff)
downloadservo-7bcfaa603bb3bc93bb138d1ed4504708569eca9f.tar.gz
servo-7bcfaa603bb3bc93bb138d1ed4504708569eca9f.zip
Handle type parameter in ProgressEvent constructor (#2379)
Diffstat (limited to 'src/components/script/dom/progressevent.rs')
-rw-r--r--src/components/script/dom/progressevent.rs27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/components/script/dom/progressevent.rs b/src/components/script/dom/progressevent.rs
index 109371d1453..7f66debae3c 100644
--- a/src/components/script/dom/progressevent.rs
+++ b/src/components/script/dom/progressevent.rs
@@ -3,11 +3,11 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::BindingDeclarations::ProgressEventBinding;
-use dom::bindings::codegen::InheritTypes::ProgressEventDerived;
+use dom::bindings::codegen::InheritTypes::{EventCast, ProgressEventDerived};
use dom::bindings::error::Fallible;
use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
-use dom::event::{Event, ProgressEventTypeId};
+use dom::event::{Event, EventMethods, ProgressEventTypeId};
use dom::window::Window;
use servo_util::str::DOMString;
@@ -34,17 +34,24 @@ impl ProgressEvent {
total: total
}
}
- pub fn new(window: &JSRef<Window>, length_computable: bool,
- loaded: u64, total: u64) -> Temporary<ProgressEvent> {
- reflect_dom_object(~ProgressEvent::new_inherited(length_computable, loaded, total),
- window,
- ProgressEventBinding::Wrap)
+ pub fn new(window: &JSRef<Window>, type_: DOMString,
+ can_bubble: bool, cancelable: bool,
+ length_computable: bool, loaded: u64, total: u64) -> Temporary<ProgressEvent> {
+ let mut ev = reflect_dom_object(~ProgressEvent::new_inherited(length_computable, loaded, total),
+ window,
+ ProgressEventBinding::Wrap).root();
+ {
+ let event: &mut JSRef<Event> = EventCast::from_mut_ref(&mut *ev);
+ event.InitEvent(type_, can_bubble, cancelable);
+ }
+ Temporary::from_rooted(&*ev)
}
pub fn Constructor(owner: &JSRef<Window>,
- _type: DOMString,
+ type_: DOMString,
init: &ProgressEventBinding::ProgressEventInit)
-> Fallible<Temporary<ProgressEvent>> {
- let ev = ProgressEvent::new(owner, init.lengthComputable, init.loaded, init.total);
+ let ev = ProgressEvent::new(owner, type_, init.parent.bubbles, init.parent.cancelable,
+ init.lengthComputable, init.loaded, init.total);
Ok(ev)
}
}
@@ -75,4 +82,4 @@ impl Reflectable for ProgressEvent {
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
self.event.mut_reflector()
}
-} \ No newline at end of file
+}