diff options
Diffstat (limited to 'components/script/page.rs')
-rw-r--r-- | components/script/page.rs | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/components/script/page.rs b/components/script/page.rs index 55729fd3591..b369a5e3337 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -327,25 +327,19 @@ impl Page { /// layout task has finished any pending request messages. fn join_layout(&self) { let mut layout_join_port = self.layout_join_port.borrow_mut(); - if layout_join_port.is_some() { - let join_port = replace(&mut *layout_join_port, None); - match join_port { - Some(ref join_port) => { - match join_port.try_recv() { - Err(Empty) => { - info!("script: waiting on layout"); - join_port.recv().unwrap(); - } - Ok(_) => {} - Err(Disconnected) => { - panic!("Layout task failed while script was waiting for a result."); - } - } - - debug!("script: layout joined") + if let Some(join_port) = replace(&mut *layout_join_port, None) { + match join_port.try_recv() { + Err(Empty) => { + info!("script: waiting on layout"); + join_port.recv().unwrap(); + } + Ok(_) => {} + Err(Disconnected) => { + panic!("Layout task failed while script was waiting for a result."); } - None => panic!("reader forked but no join port?"), } + + debug!("script: layout joined") } } |