Use internal mutability for Event.

This commit is contained in:
Ms2ger 2014-06-10 13:45:14 +02:00
parent d255a83a48
commit 0b364d13b6
8 changed files with 105 additions and 111 deletions

View file

@ -638,10 +638,10 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> {
assert!(self.ready_state != rs)
self.ready_state = rs;
let win = &*self.global.root();
let mut event =
let event =
Event::new(win, "readystatechange".to_string(), false, true).root();
let target: &JSRef<EventTarget> = EventTargetCast::from_ref(self);
target.dispatch_event_with_target(None, &mut *event).ok();
target.dispatch_event_with_target(None, &*event).ok();
}
fn process_partial_response(&mut self, progress: XHRProgress) {
@ -739,16 +739,16 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> {
fn dispatch_progress_event(&self, upload: bool, type_: DOMString, loaded: u64, total: Option<u64>) {
let win = &*self.global.root();
let upload_target = &*self.upload.get().root().unwrap();
let mut progressevent = ProgressEvent::new(win, type_, false, false,
total.is_some(), loaded,
total.unwrap_or(0)).root();
let progressevent = ProgressEvent::new(win, type_, false, false,
total.is_some(), loaded,
total.unwrap_or(0)).root();
let target: &JSRef<EventTarget> = if upload {
EventTargetCast::from_ref(upload_target)
} else {
EventTargetCast::from_ref(self)
};
let event: &mut JSRef<Event> = EventCast::from_mut_ref(&mut *progressevent);
target.dispatch_event_with_target(None, &mut *event).ok();
let event: &JSRef<Event> = EventCast::from_ref(&*progressevent);
target.dispatch_event_with_target(None, event).ok();
}
fn dispatch_upload_progress_event(&self, type_: DOMString, partial_load: Option<u64>) {