diff options
author | hundredeir <hundredeir@protonmail.com> | 2019-03-23 23:51:37 +0530 |
---|---|---|
committer | hundredeir <20334754+hundredeir@users.noreply.github.com> | 2019-03-26 14:54:37 +0530 |
commit | 1a5e7b7cfb1b6491ffa61d9694df58ff015c70db (patch) | |
tree | 6727cf2832f62a3b9222575cbefd3b12e8364045 | |
parent | 059ac12c00c4cfac4133b23fc3d81e71b90eb8e2 (diff) | |
download | servo-1a5e7b7cfb1b6491ffa61d9694df58ff015c70db.tar.gz servo-1a5e7b7cfb1b6491ffa61d9694df58ff015c70db.zip |
Defer update of dom_content_loaded_event_end
Set it's value only after the "DOMContentLoaded" event is really fired
-rw-r--r-- | components/script/dom/document.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 012aaecbe4f..b59f9502d63 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -2184,18 +2184,19 @@ impl Document { // Step 4.1. let window = self.window(); + let document = Trusted::new(self); window .task_manager() .dom_manipulation_task_source() - .queue_event( - self.upcast(), - atom!("DOMContentLoaded"), - EventBubbles::Bubbles, - EventCancelable::NotCancelable, - window, - ); - - update_with_current_time_ms(&self.dom_content_loaded_event_end); + .queue( + task!(fire_dom_content_loaded_event: move || { + let document = document.root(); + document.upcast::<EventTarget>().fire_bubbling_event(atom!("DOMContentLoaded")); + update_with_current_time_ms(&document.dom_content_loaded_event_end); + }), + window.upcast(), + ) + .unwrap(); // html parsing has finished - set dom content loaded self.interactive_time |