diff options
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 19901c43796..9fabde71dd9 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -1830,13 +1830,17 @@ impl DocumentProgressHandler { impl Runnable for DocumentProgressHandler { fn handler(self: Box<DocumentProgressHandler>) { - match self.task { - DocumentProgressTask::DOMContentLoaded => { - self.dispatch_dom_content_loaded(); - } - DocumentProgressTask::Load => { - self.set_ready_state_complete(); - self.dispatch_load(); + let document = self.addr.to_temporary().root(); + let window = document.r().window().root(); + if window.r().is_alive() { + match self.task { + DocumentProgressTask::DOMContentLoaded => { + self.dispatch_dom_content_loaded(); + } + DocumentProgressTask::Load => { + self.set_ready_state_complete(); + self.dispatch_load(); + } } } } |