diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 4643921bc2d..caebbddd09e 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -973,9 +973,16 @@ impl XMLHttpRequest { *self.response.borrow_mut() = partial_response; if !self.sync.get() { if self.ready_state.get() == XMLHttpRequestState::HeadersReceived { - self.change_ready_state(XMLHttpRequestState::Loading); - return_if_fetch_was_terminated!(); + self.ready_state.set(XMLHttpRequestState::Loading); } + let global = self.global(); + let event = Event::new( + global.r(), + atom!("readystatechange"), + EventBubbles::DoesNotBubble, + EventCancelable::Cancelable); + event.fire(self.upcast()); + return_if_fetch_was_terminated!(); self.dispatch_response_progress_event(atom!("progress")); } }, diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm index 4368f8c9a5d..67217af748a 100644 --- a/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm @@ -2,7 +2,7 @@
-