diff options
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/script_thread.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 135fccf58c3..b902c6df101 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -1201,10 +1201,14 @@ impl ScriptThread { }); // Pick a layout thread, any layout thread - match self.documents.borrow().iter().next() { + let current_layout_chan = self.documents.borrow().iter().next() + .map(|(_, document)| document.window().layout_chan().clone()) + .or_else(|| self.incomplete_loads.borrow().first().map(|load| load.layout_chan.clone())); + + match current_layout_chan { None => panic!("Layout attached to empty script thread."), // Tell the layout thread factory to actually spawn the thread. - Some((_, document)) => document.window().layout_chan().send(msg).unwrap(), + Some(layout_chan) => layout_chan.send(msg).unwrap(), }; // Kick off the fetch for the new resource. |