diff options
Diffstat (limited to 'components/gfx/paint_task.rs')
-rw-r--r-- | components/gfx/paint_task.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/components/gfx/paint_task.rs b/components/gfx/paint_task.rs index 331c25a0be2..6ba95a6aaf9 100644 --- a/components/gfx/paint_task.rs +++ b/components/gfx/paint_task.rs @@ -205,7 +205,7 @@ pub enum ChromeToPaintMsg { PaintPermissionGranted, PaintPermissionRevoked, CollectReports(ReportsChan), - Exit(Option<IpcSender<()>>, PipelineExitType), + Exit(PipelineExitType), } pub struct PaintTask<C> { @@ -382,8 +382,7 @@ impl<C> PaintTask<C> where C: PaintListener + Send + 'static { // FIXME(njn): should eventually measure the paint task. channel.send(Vec::new()) } - Msg::FromLayout(LayoutToPaintMsg::Exit(ref response_channel, _)) | - Msg::FromChrome(ChromeToPaintMsg::Exit(ref response_channel, _)) => { + Msg::FromLayout(LayoutToPaintMsg::Exit(ref response_channel, _)) => { // Ask the compositor to remove any layers it is holding for this paint task. // FIXME(mrobinson): This can probably move back to the constellation now. self.compositor.notify_paint_task_exiting(self.id); @@ -392,6 +391,14 @@ impl<C> PaintTask<C> where C: PaintListener + Send + 'static { response_channel.as_ref().map(|channel| channel.send(())); break; } + Msg::FromChrome(ChromeToPaintMsg::Exit(_)) => { + // Ask the compositor to remove any layers it is holding for this paint task. + // FIXME(mrobinson): This can probably move back to the constellation now. + self.compositor.notify_paint_task_exiting(self.id); + + debug!("PaintTask: Exiting."); + break; + } } } } |