diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2014-05-18 14:42:23 +0530 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2014-05-18 14:43:52 +0530 |
commit | 7bcfaa603bb3bc93bb138d1ed4504708569eca9f (patch) | |
tree | 2edcc8c56e4d0c6274d37ecd73a37697075069d9 /src/components/script/dom/progressevent.rs | |
parent | 018348324851b49543257f62e8ddc9acfe09ff4e (diff) | |
download | servo-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.rs | 27 |
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 +} |