diff --git a/components/compositing/pipeline.rs b/components/compositing/pipeline.rs index ad425224d26..51b4a20ec9c 100644 --- a/components/compositing/pipeline.rs +++ b/components/compositing/pipeline.rs @@ -279,7 +279,6 @@ impl Pipeline { ConstellationControlMsg::ExitPipeline(self.id, PipelineExitType::PipelineOnly)).unwrap(); let _ = self.chrome_to_paint_chan.send(ChromeToPaintMsg::Exit( - None, PipelineExitType::PipelineOnly)); let LayoutControlChan(ref layout_channel) = self.layout_chan; let _ = layout_channel.send( 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>, PipelineExitType), + Exit(PipelineExitType), } pub struct PaintTask { @@ -382,8 +382,7 @@ impl PaintTask 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 PaintTask 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; + } } } }